Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
template_vue
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
胡宝山
template_vue
Commits
ce6166d2
Commit
ce6166d2
authored
Aug 01, 2023
by
kzy
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'project1' of
http://gitlab.91isoft.com:90/yangshuo/template_vue
into project1
parents
1b09c8e6
ddcfdaa1
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
394 additions
and
230 deletions
+394
-230
draw.js
src/api/equipment/draw.js
+13
-2
magnagement.js
src/api/magnagement.js
+1
-1
InventoryRecord.js
src/api/processMangement/InventoryRecord.js
+1
-1
basicInfo.vue
src/views/equipment/basicInfo.vue
+19
-14
boundManagement.vue
src/views/equipment/boundManagement.vue
+1
-1
draw.vue
src/views/equipment/draw.vue
+109
-83
income.vue
src/views/equipment/income.vue
+166
-54
management.vue
src/views/equipment/management.vue
+63
-58
index.vue
src/views/processManagement/inventoryRecord/index.vue
+21
-16
No files found.
src/api/equipment/draw.js
View file @
ce6166d2
...
...
@@ -7,10 +7,10 @@ export function listWbApply(query) {
params
:
query
})
}
//
apply_detail
分页查询接口
//
warehouse表单
分页查询接口
export
function
detailList
(
query
)
{
return
request
({
url
:
'/wb
applydetail/queryWbApplyDetail
ByPagination'
,
url
:
'/wb
warehouse/queryWbWarehouse
ByPagination'
,
method
:
'get'
,
params
:
query
})
...
...
@@ -22,3 +22,14 @@ export function deleteLogical(id) {
method
:
'delete'
})
}
// 处理的接口
export
function
batchAddition
(
data
)
{
return
request
({
url
:
'/wbapply/batchAddition'
,
method
:
'post'
,
data
,
headers
:
{
'Content-Type'
:
'application/json;charset=UTF-8'
}
})
}
src/api/magnagement.js
View file @
ce6166d2
...
...
@@ -48,7 +48,7 @@ export function recycle(data) {
// 逻辑删除基础信息接口
export
function
deletedevice
(
id
)
{
return
request
({
url
:
'/wbwarehouse/delete/'
+
id
,
url
:
'/wbwarehouse/delete
Logical
/'
+
id
,
method
:
'delete'
})
}
...
...
src/api/processMangement/InventoryRecord.js
View file @
ce6166d2
...
...
@@ -28,7 +28,7 @@ export function findSingleLogDetail(singleLogIdAndPn) {
/* TODO: 用来导出表单信息 */
export
function
exportInventoryRecord
()
{
return
request
({
url
:
'/wbwarehouselog/export'
,
url
:
'/wbwarehouselog/export
LogWithDetails
'
,
method
:
'get'
,
responseType
:
'blob'
})
...
...
src/views/equipment/basicInfo.vue
View file @
ce6166d2
...
...
@@ -14,7 +14,7 @@
</el-form-item>
<el-form-item
label=
"pgx"
prop=
"pgx"
>
<el-select
v-model=
"
form
.pgx"
v-model=
"
queryParams
.pgx"
clearable
placeholder=
"请选择pgx"
:style=
"
{ width: '150px', height: '30px' }"
...
...
@@ -29,7 +29,7 @@
</el-form-item>
<el-form-item
label=
"ptype"
prop=
"ptype"
>
<el-select
v-model=
"
form
.ptype"
v-model=
"
queryParams
.ptype"
placeholder=
"请选择ptype"
clearable
size=
"small"
...
...
@@ -152,7 +152,7 @@
v-model=
"form.pgx"
clearable
placeholder=
"请选择pgx"
:style=
"{ width: '
150
px', height: '30px' }"
:style=
"{ width: '
341
px', height: '30px' }"
>
<el-option
v-for=
"(dict,index) in pgxList"
...
...
@@ -168,7 +168,7 @@
placeholder=
"请选择ptype"
clearable
size=
"small"
style=
"width:
150
px"
style=
"width:
341
px"
>
<el-option
v-for=
"dict in ptypeOptions"
...
...
@@ -179,7 +179,7 @@
</el-select>
</el-form-item>
<el-form-item
label=
"prank"
prop=
"prank"
>
<el-input
v-model
.
trim=
"form.prank"
:maxlength=
"
10
"
placeholder=
"请输入prank"
/>
<el-input
v-model
.
trim=
"form.prank"
:maxlength=
"
5
"
placeholder=
"请输入prank"
/>
</el-form-item>
<el-form-item
label=
"pissb"
prop=
"pissb"
>
<el-select
...
...
@@ -198,10 +198,10 @@
</el-select>
</el-form-item>
<el-form-item
label=
"psm"
prop=
"psm"
>
<el-input
v-model
.
trim=
"form.psm"
:maxlength=
"
10
"
placeholder=
"请输入psm"
/>
<el-input
v-model
.
trim=
"form.psm"
:maxlength=
"
5
"
placeholder=
"请输入psm"
/>
</el-form-item>
<el-form-item
label=
"psy"
prop=
"psy"
>
<el-input
v-model
.
trim=
"form.psy"
:maxlength=
"
10
"
placeholder=
"请输入psy"
/>
<el-input
v-model
.
trim=
"form.psy"
:maxlength=
"
5
"
placeholder=
"请输入psy"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -288,22 +288,27 @@ export default {
// 表单校验
rules
:
{
pn
:
[
{
required
:
true
,
message
:
'请输入pn'
,
trigger
:
'
blur
'
},
{
pattern
:
/^
\d{1,5}
$/
,
message
:
'请输入
少于五位数字'
,
trigger
:
'blur
'
}
{
required
:
true
,
message
:
'请输入pn'
,
trigger
:
'
change
'
},
{
pattern
:
/^
\d{1,5}
$/
,
message
:
'请输入
数字且少于五位'
,
trigger
:
'change
'
}
],
ptype
:
[
{
required
:
true
,
message
:
'请
输入ptype'
,
trigger
:
'blur
'
}
{
required
:
true
,
message
:
'请
选择ptype'
,
trigger
:
'change
'
}
],
pgx
:
[
{
required
:
true
,
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数
'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请选择pgx
'
,
trigger
:
'change'
}
],
prank
:
[{
required
:
true
,
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}],
prank
:
[
{
required
:
true
,
message
:
'请输入prank'
,
trigger
:
'change'
},
{
pattern
:
/^
\d{1,5}
$/
,
message
:
'请输入数字且少于五位'
,
trigger
:
'change'
}],
pissb
:
[
{
required
:
true
,
message
:
'请选择pissb'
,
trigger
:
'blur'
}
],
psm
:
[{
required
:
true
,
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}],
psm
:
[
{
required
:
true
,
message
:
'请输入psm'
,
trigger
:
'change'
},
{
pattern
:
/^
\d{1,5}
$/
,
message
:
'请输入数字且少于五位'
,
trigger
:
'change'
}],
psy
:
[
{
required
:
true
,
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'请输入psy'
,
trigger
:
'change'
},
{
pattern
:
/^
\d{1,5}
$/
,
message
:
'请输入数字且少于五位'
,
trigger
:
'change'
}
]
},
deptOptions
:
[]
...
...
src/views/equipment/boundManagement.vue
View file @
ce6166d2
...
...
@@ -440,7 +440,7 @@ export default {
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
title
=
'
编辑基础信息表单
'
this
.
title
=
'
库存管理
'
const
id
=
row
.
businessId
getDetailById
(
id
).
then
(
res
=>
{
this
.
form
=
res
.
data
...
...
src/views/equipment/draw.vue
View file @
ce6166d2
...
...
@@ -37,7 +37,7 @@
placeholder=
"请选择状态"
clearable
size=
"small"
style=
"width:
341
px"
style=
"width:
150
px"
>
<el-option
v-for=
"dict in statusOptions"
...
...
@@ -73,13 +73,14 @@
</el-table-column>
<el-table-column
label=
"pgx"
prop=
"pgx"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pgx
||
'-'
}}
<span
v-if=
"scope.row.pgx === '001'"
>
压缩
</span>
<span
v-if=
"scope.row.pgx === '002'"
>
排水
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"pissb"
prop=
"pissb"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.pissb === '0'"
>
否
</span>
<span
v-else
>
是
</span>
<span
v-else
>
是
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
prop=
"pstatus"
>
...
...
@@ -130,51 +131,8 @@
@
pagination=
"getList"
/>
<!-- 添加或修改设备基本信息配置对话框 -->
<el-dialog
title=
"设备基本信息"
:visible
.
sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"80px"
>
<el-form-item
label=
"pn"
prop=
"pn"
>
<el-input
v-model
.
trim=
"form.pn"
show-word-limit
:maxlength=
"30"
placeholder=
"请输入pn"
/>
</el-form-item>
<el-form-item
label=
"ptype"
prop=
"ptype"
>
<el-input
v-model
.
trim=
"form.ptype"
show-word-limit
:maxlength=
"30"
placeholder=
"请输入ptype"
/>
</el-form-item>
<el-form-item
label=
"pgx"
prop=
"pgx"
>
<el-input-number
v-model=
"form.pgx"
style=
"width: 100%"
controls-position=
"right"
:min=
"0"
placeholder=
"请输入pgx"
/>
</el-form-item>
<el-form-item
label=
"prank"
prop=
"prank"
>
<el-input-number
v-model=
"form.prank"
style=
"width: 100%"
controls-position=
"right"
:min=
"0"
placeholder=
"请输入prank"
/>
</el-form-item>
<el-form-item
label=
"pissb"
prop=
"pissb"
>
<el-select
v-model=
"form.pissb"
placeholder=
"请选择pissb"
clearable
size=
"small"
style=
"width: 150px"
>
<el-option
v-for=
"dict in pissbOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"psm"
prop=
"psm"
>
<el-input-number
v-model=
"form.psm"
style=
"width: 100%"
controls-position=
"right"
:min=
"0"
placeholder=
"请输入psm"
/>
</el-form-item>
<el-form-item
label=
"psy"
prop=
"psy"
>
<el-input-number
v-model=
"form.psy"
style=
"width: 100%"
controls-position=
"right"
:min=
"0"
placeholder=
"请输入psy"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
</div>
</el-dialog>
<!-- TODO: 单项详情信息表单配置 -->
<el-dialog
class=
"aboutSingleDetails"
:title=
"title"
:visible
.
sync=
"openDetails"
width=
"700px"
append-to-body
>
<!-- TODO: 详情 -->
<el-dialog
class=
"aboutSingleDetails"
:title=
"title"
:visible
.
sync=
"openDetails"
width=
"1200px"
append-to-body
>
<el-form
ref=
"formDetails"
:model=
"singleDetails"
size=
"small"
label-width=
"90px"
>
<el-row>
<el-col
:span=
"12"
>
...
...
@@ -208,7 +166,7 @@
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"状态:"
prop=
"pstatus"
>
<
template
>
<
template
>
<span
v-if=
"singleDetails.pstatus === '0'"
style=
"color: red"
>
未完成
</span>
<span
v-else
style=
"color: green"
>
已完成
</span>
</
template
>
...
...
@@ -228,8 +186,62 @@
</el-col>
</el-row>
</el-form>
<el-table
v-loading=
"loadingDetail"
border
:data=
"detailApplyList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"50"
/>
<el-table-column
label=
"pn"
prop=
"pn"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pn
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"lot"
prop=
"lot"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
lot
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"plocation"
prop=
"plocation"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
plocation
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"prank"
prop=
"prank"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
prank
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"pzl"
prop=
"pzl"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
pzl
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"phd"
prop=
"phd"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
phd
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"psm"
prop=
"psm"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
psm
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"pissb"
prop=
"pissb"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.pissb === '0'"
>
否
</span>
<span
v-else
>
是
</span>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"totalDetail>0"
:total=
"totalDetail"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.rows"
@
pagination=
"getDeviceList"
/>
</el-dialog>
<!-- TODO: 申请处理表单 -->
<!-- TODO: 处理 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"openHandle"
width=
"1200px"
append-to-body
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"pn"
prop=
"pn"
>
...
...
@@ -310,7 +322,7 @@
<el-table-column
label=
"pissb"
prop=
"pissb"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"scope.row.pissb === '0'"
>
否
</span>
<span
v-else
>
是
</span>
<span
v-else
>
是
</span>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -321,17 +333,29 @@
:limit
.
sync=
"queryParams.rows"
@
pagination=
"getDeviceList"
/>
<div
style=
"float: right;padding:3px 15px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"handleCance"
>
确定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
listWbApply
,
deleteLogical
,
detailList
}
from
'@/api/equipment/draw'
import
{
listWbApply
,
deleteLogical
,
detailList
,
batchAddition
}
from
'@/api/equipment/draw'
import
{
parseTime
}
from
'@/utils'
import
{
title
}
from
'@/settings'
export
default
{
name
:
'Role'
,
data
()
{
return
{
canceList
:
[],
applyId
:
''
,
multipleSelection
:
[],
detailApplyList
:
[],
deviceList
:
[],
// TODO: 表单里的单项详情参数
singleDetails
:
{
pn
:
''
,
...
...
@@ -424,30 +448,6 @@ export default {
children
:
'children'
,
label
:
'label'
},
// 表单校验
rules
:
{
pn
:
[
{
required
:
true
,
message
:
'请输入pn'
,
trigger
:
'blur'
}
],
ptype
:
[
{
required
:
true
,
message
:
'请输入ptype'
,
trigger
:
'blur'
}
],
pgx
:
[
{
required
:
true
,
message
:
'请输入pgx'
,
trigger
:
'blur'
}
],
prank
:
[
{
required
:
true
,
message
:
'请输入prank'
,
trigger
:
'blur'
}
],
pissb
:
[
{
required
:
true
,
message
:
'请输入pissb'
,
trigger
:
'blur'
}
],
psm
:
[
{
required
:
true
,
message
:
'请输入psm'
,
trigger
:
'blur'
}
],
psy
:
[
{
required
:
true
,
message
:
'请输入psy'
,
trigger
:
'blur'
}
]
},
deptOptions
:
[]
}
},
...
...
@@ -473,6 +473,32 @@ export default {
// });
},
methods
:
{
handleCance
()
{
console
.
log
(
'multipleSelection'
,
this
.
multipleSelection
)
if
(
this
.
multipleSelection
.
length
===
0
)
{
this
.
$message
.
warning
(
'请至少选择一个要处理的设备'
)
}
else
{
this
.
canceList
=
[]
this
.
multipleSelection
.
forEach
(
item
=>
{
console
.
log
(
'item'
,
item
)
const
obj
=
{
applyId
:
this
.
applyId
,
pn
:
item
.
pn
,
pzl
:
item
.
pzl
,
lot
:
item
.
lot
,
plocation
:
item
.
plocation
,
phd
:
item
.
phd
,
psm
:
item
.
psm
,
prank
:
item
.
prank
}
this
.
canceList
.
push
(
obj
)
})
console
.
log
(
'canceList'
,
this
.
canceList
)
batchAddition
(
this
.
canceList
).
then
(
res
=>
{
console
.
log
(
'res'
,
res
)
})
}
},
/** 查询apply_detail列表 */
getDeviceList
()
{
this
.
loadingDetail
=
true
...
...
@@ -483,7 +509,9 @@ export default {
this
.
loadingDetail
=
false
})
},
handle
()
{
handle
(
row
)
{
this
.
applyId
=
row
.
businessId
this
.
title
=
'处理'
this
.
openHandle
=
!
this
.
openHandle
this
.
loadingDetail
=
true
detailList
(
this
.
queryParamsDetail
).
then
(
res
=>
{
...
...
@@ -493,10 +521,10 @@ export default {
this
.
loadingDetail
=
false
})
},
//
: 获取所选行详情信息操作
//
获取所选行详情信息
handleDetail
(
row
)
{
this
.
singleDetails
=
row
this
.
title
=
'详情
信息
'
this
.
title
=
'详情'
this
.
openDetails
=
!
this
.
openDetails
},
/** 查询基础信息列表 */
...
...
@@ -557,10 +585,8 @@ export default {
this
.
handleQuery
()
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
roleId
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
handleSelectionChange
:
function
(
selection
)
{
this
.
multipleSelection
=
selection
},
// 树权限(父子联动)
handleCheckedTreeConnect
(
value
,
type
)
{
...
...
src/views/equipment/income.vue
View file @
ce6166d2
...
...
@@ -14,70 +14,93 @@
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"40"
>
<el-col
:span=
"12"
style=
"padding-left: 10%;"
>
<el-form-item
label=
"位置:"
style=
"flex-basis: 50%;"
prop=
"plocation"
>
<el-input
ref=
"input3"
v-model=
"form.plocation"
placeholder=
"请输入位置"
:style=
"
{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(3,$event)" />
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-row>
<el-col
:span=
"12"
style=
"padding-left: 8.6%;"
>
<el-form-item
label=
"厚度:"
style=
"flex-basis: 50%;"
prop=
"phd"
>
<el-input
ref=
"input
4"
v-model=
"form.phd"
placeholder=
"请输入厚度"
:style=
"
{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(4
,$event)" />
<el-input
ref=
"input
3"
v-model=
"form.phd"
placeholder=
"请输入厚度"
:style=
"
{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(3
,$event)" />
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"40"
>
<el-col
:span=
"12"
style=
"padding-left: 10%;"
>
<el-form-item
label=
"psm:"
style=
"flex-basis: 50%;"
prop=
"psm"
>
<el-input
ref=
"input5"
v-model=
"form.psm"
placeholder=
"请输入psm"
:style=
"
{ width: '400px', height: '30px' }" :maxlength="50" @keyup.enter.native="handelTab(5,$event)" />
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"pzl:"
style=
"flex-basis: 50%;"
prop=
"pzl"
>
<el-input
ref=
"input6"
v-model=
"form.pzl"
placeholder=
"请输入pzl"
:style=
"
{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(6,$event)" />
</el-form-item>
<el-col
:span=
"12"
style=
"padding-left: 8.6%;"
>
<el-button
type=
"primary"
@
click=
"handleConfirm"
>
确认
</el-button>
</el-col>
</el-row>
</el-form>
<!--
<div
class=
"mb12 font-small-bold"
style=
"display: flex; padding-left: 12%;"
>
设备入库列表
</div>
-->
<el-table
border
:data=
"tableData"
style=
"width: 100%; "
>
<el-table-column
type=
"index"
label=
"序号"
width=
"80"
/>
<el-table-column
label=
"pn"
prop=
"businessId"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
pn
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"lot"
prop=
"lot"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
lot
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"厚度"
prop=
"phd"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
phd
||
'-'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
width=
"180px"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
style=
"color: #49cec9"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rule"
label-width=
"80px"
>
<el-row>
<el-col
:span=
"12"
style=
"padding-left: 8.6%;"
>
<el-form-item
label=
"
prank:"
style=
"flex-basis: 50%;"
prop=
"prank
"
>
<el-input
ref=
"input7"
v-model=
"form.prank"
placeholder=
"请输入prank"
:style=
"
{ width: '400px', height: '30px' }" :maxlength="10" @keyup.enter.native="handelTab(7
,$event)" />
<el-form-item
label=
"
位置:"
style=
"flex-basis: 50%;"
prop=
"plocation
"
>
<el-input
v-model=
"form.plocation"
placeholder=
"请输入位置"
:style=
"{ width: '400px', height: '30px' }"
:maxlength=
"10"
@
keyup
.
enter
.
native=
"handelTab(3
,$event)"
/>
</el-form-item>
</el-col>
</el-row>
<div
class=
"button"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
提交
</el-button>
</div>
</el-form>
<div
class=
"button"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
提交
</el-button>
</div>
</div>
</template>
<
script
>
import
{
add
,
updatadevice
}
from
'@/api/magnagement'
import
{
add
}
from
'@/api/magnagement'
export
default
{
name
:
'Role'
,
data
()
{
return
{
index
:
0
,
flag
:
false
,
form
:
{
pn
:
''
,
lot
:
''
,
plocation
:
''
,
phd
:
''
,
psm
:
''
,
pzl
:
''
,
prank
:
''
,
flag
:
1
,
ptype
:
1
,
pstatus
:
0
},
tableData
:
[],
// 表格数据
selectedRows
:
[],
showForm
:
false
,
// 控制表单显示与隐藏
selectedItem
:
null
,
// 存储当前被选中的表格行数据
rule
:
{
pn
:
[{
required
:
true
,
message
:
'请输入pn'
,
trigger
:
'blur'
}],
lot
:
[{
required
:
true
,
message
:
'请输入lot'
,
trigger
:
'blur'
}],
plocation
:
[{
required
:
true
,
message
:
'请输入位置'
,
trigger
:
'blur'
}],
phd
:
[{
pattern
:
/^
\d
+$/
,
message
:
'仅能输入数字'
,
trigger
:
'change'
}],
psm
:
[{
pattern
:
/^
\d
+$/
,
message
:
'仅能输入数字'
,
trigger
:
'change'
}],
pzl
:
[{
pattern
:
/^
\d
+$/
,
message
:
'仅能输入数字'
,
trigger
:
'change'
}],
prank
:
[{
pattern
:
/^
\d
+$/
,
message
:
'仅能输入数字'
,
trigger
:
'change'
}]
phd
:
[{
pattern
:
/^
\d
+$/
,
message
:
'仅能输入数字'
,
trigger
:
'change'
}]
}
}
},
...
...
@@ -90,6 +113,104 @@ export default {
this
.
init
()
},
methods
:
{
handleDelete
(
row
)
{
// 检查选中行是否已存在于selectedRows数组中
const
index
=
this
.
selectedRows
.
findIndex
(
selectedRow
=>
selectedRow
===
row
)
if
(
index
!==
-
1
)
{
// 从selectedRows数组中移除选中行
this
.
selectedRows
.
splice
(
index
,
1
)
}
else
{
// 将选中行添加到selectedRows数组中
this
.
selectedRows
.
push
(
row
)
}
// 从tableData数组中删除选中行
this
.
tableData
=
this
.
tableData
.
filter
(
row
=>
!
this
.
selectedRows
.
includes
(
row
))
// 清空selectedRows数组
this
.
selectedRows
=
[]
},
handleUpdate
(
row
)
{
this
.
form
.
pn
=
row
.
pn
this
.
form
.
lot
=
row
.
lot
this
.
form
.
phd
=
row
.
phd
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
pn
===
row
.
pn
)
{
this
.
form
.
index
=
index
}
})
console
.
log
(
'form.index'
,
this
.
form
)
// console.log('tableData', this.tableData)
// this.selectedItem = { ...row } // 存储当前被选中的表格行数据
// this.showForm = true // 显示表单
},
handleConfirm
()
{
this
.
flag
=
false
const
{
pn
,
lot
,
plocation
,
phd
}
=
this
.
form
if
(
pn
&&
lot
)
{
// 检查输入框是否为空
const
newRow
=
{
pn
,
lot
,
phd
,
plocation
}
if
(
this
.
form
.
index
===
undefined
)
{
if
(
this
.
tableData
.
length
)
{
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
console
.
log
(
'item'
,
item
)
console
.
log
(
'pn'
,
this
.
form
.
pn
)
if
(
item
.
pn
===
this
.
form
.
pn
)
{
this
.
flag
=
true
this
.
index
=
index
+
1
}
})
if
(
this
.
flag
)
{
this
.
$message
.
warning
(
'与第'
+
this
.
index
+
'条pn值重复'
)
}
else
{
this
.
tableData
.
push
(
newRow
)
// 清空输入框
this
.
form
.
pn
=
''
this
.
form
.
lot
=
''
this
.
form
.
phd
=
''
this
.
form
.
plocation
=
''
}
}
else
{
this
.
tableData
.
push
(
newRow
)
// 清空输入框
this
.
form
.
pn
=
''
this
.
form
.
lot
=
''
this
.
form
.
phd
=
''
this
.
form
.
plocation
=
''
}
}
else
{
let
number
=
0
let
flag
=
false
console
.
log
(
'编辑'
)
this
.
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
pn
===
this
.
form
.
pn
&&
index
!==
this
.
form
.
index
)
{
flag
=
true
number
=
index
+
1
}
})
if
(
flag
)
{
this
.
$message
.
warning
(
'与第'
+
number
+
'条pn值重复'
)
}
else
{
this
.
tableData
[
this
.
form
.
index
].
pn
=
this
.
form
.
pn
this
.
tableData
[
this
.
form
.
index
].
lot
=
this
.
form
.
lot
this
.
tableData
[
this
.
form
.
index
].
phd
=
this
.
form
.
phd
this
.
form
.
pn
=
''
this
.
form
.
lot
=
''
this
.
form
.
phd
=
''
this
.
form
.
plocation
=
''
this
.
form
.
index
=
undefined
}
}
}
},
focusNextInput
(
refName
)
{
this
.
$nextTick
(()
=>
{
this
.
$refs
[
refName
].
$refs
.
input
.
focus
()
...
...
@@ -133,28 +254,19 @@ export default {
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
console
.
log
(
'form'
,
this
.
form
)
// 校验通过,提交表单或进行其他操作
if
(
this
.
form
.
businessId
!==
undefined
)
{
updatadevice
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
open
=
false
this
.
$message
.
success
(
'操作成功'
)
this
.
resetFrom
()
}
else
if
(
res
.
code
===
null
)
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
else
{
add
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
open
=
false
this
.
$message
.
success
(
'操作成功'
)
this
.
resetFrom
()
}
else
if
(
res
.
code
===
null
)
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
this
.
tableData
.
forEach
(
item
=>
{
item
.
plocation
=
this
.
form
.
plocation
})
console
.
log
(
'tableData'
,
this
.
tableData
)
add
(
this
.
tableData
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
open
=
false
this
.
$message
.
success
(
'操作成功'
)
this
.
tableData
=
[]
}
else
if
(
res
.
code
===
null
)
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
else
{
// 校验失败,显示错误信息或进行其他操作
}
...
...
src/views/equipment/management.vue
View file @
ce6166d2
...
...
@@ -85,8 +85,14 @@
<span>
{{
scope
.
row
.
updateDate
|
transformDateByFormat
(
'YYYY-MM-DD HH:mm'
)
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
width=
"1
2
0px"
>
<el-table-column
label=
"操作"
class-name=
"small-padding fixed-width"
width=
"1
8
0px"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
style=
"color: #49cec9"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
:type=
"typeParent"
:size=
"size"
@
click=
"handleDetail(scope.row)"
>
详情
</el-button>
...
...
@@ -110,31 +116,27 @@
<!-- 添加或修改设备配置对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"80px"
>
<el-form-item
label=
"名称"
prop=
"roleName"
>
<el-input
v-model
.
trim=
"form.roleName"
show-word-limit
:maxlength=
"30"
placeholder=
"请输入设备名称"
/>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
size=
"small"
label-width=
"100px"
>
<el-form-item
label=
"pn"
prop=
"pn"
>
<el-input
ref=
"input1"
v-model
.
trim=
"form.pn"
:maxlength=
"30"
placeholder=
"请输入pn"
@
keyup
.
enter
.
native=
"handelTab(1,$event)"
/>
</el-form-item>
<el-form-item
label=
"lot"
prop=
"lot"
>
<el-input
ref=
"input2"
v-model
.
trim=
"form.lot"
:maxlength=
"30"
placeholder=
"请输入lot"
@
keyup
.
enter
.
native=
"handelTab(2,$event)"
/>
</el-form-item>
<el-form-item
label=
"plocation"
prop=
"plocation"
>
<el-input
ref=
"input3"
v-model
.
trim=
"form.plocation"
:maxlength=
"30"
placeholder=
"请输入plocation"
@
keyup
.
enter
.
native=
"handelTab(3,$event)"
/>
</el-form-item>
<el-form-item
label=
"厚度"
prop=
"phd"
>
<el-input
ref=
"input4"
v-model
.
trim=
"form.phd"
:maxlength=
"30"
placeholder=
"请输入厚度"
@
keyup
.
enter
.
native=
"handelTab(4,$event)"
/>
</el-form-item>
<el-form-item
label=
"
设备来源"
prop=
"roleKey
"
>
<el-input
v-model
.
trim=
"form.roleKey"
show-word-limit
:maxlength=
"30"
placeholder=
"请输入设备来源
"
/>
<el-form-item
label=
"
psm"
prop=
"psm
"
>
<el-input
ref=
"input5"
v-model
.
trim=
"form.psm"
:maxlength=
"30"
placeholder=
"请输入psm"
@
keyup
.
enter
.
native=
"handelTab(5,$event)
"
/>
</el-form-item>
<el-form-item
label=
"
排序"
prop=
"roleSort
"
>
<el-input
-number
v-model=
"form.roleSort"
style=
"width: 100%"
controls-position=
"right"
:min=
"0
"
/>
<el-form-item
label=
"
pzl"
prop=
"pzl
"
>
<el-input
ref=
"input6"
v-model
.
trim=
"form.pzl"
:maxlength=
"30"
placeholder=
"请输入pzl"
@
keyup
.
enter
.
native=
"handelTab(6,$event)
"
/>
</el-form-item>
<el-form-item
label=
"设备批次"
>
<!-- <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>-->
<!-- <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>-->
<!-- <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>-->
<el-tree
ref=
"menu"
class=
"tree-border"
:data=
"menuOptions"
show-checkbox
node-key=
"id"
check-strictly
empty-text=
"加载中,请稍后"
:props=
"defaultProps"
@
check-change=
"handleMenuCheckChange"
/>
<el-form-item
label=
"parnk"
prop=
"prank"
>
<el-input
ref=
"input7"
v-model
.
trim=
"form.prank"
:maxlength=
"30"
placeholder=
"请输入prank"
@
keyup
.
enter
.
native=
"handelTab(7,$event)"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
...
@@ -209,7 +211,7 @@ import {
getRole
,
updateRole
}
from
'@/api/system/role'
import
{
listdevice
,
deletedevice
,
exportdevice
}
from
'@/api/magnagement'
import
{
listdevice
,
deletedevice
,
exportdevice
,
getDetailById
,
updatadevice
,
add
}
from
'@/api/magnagement'
import
{
roleMenuTreeselect
,
roleMenuTreeselectMC
,
treeselect
as
menuTreeselect
}
from
'@/api/system/menu'
import
{
roleDeptTreeselect
,
treeselect
as
deptTreeselect
}
from
'@/api/system/dept'
export
default
{
...
...
@@ -320,7 +322,7 @@ export default {
lot
:
undefined
,
plocation
:
undefined
,
pstatus
:
0
,
ptype
:
2
,
ptype
:
1
,
delFlag
:
0
},
// 表单参数
...
...
@@ -335,15 +337,13 @@ export default {
},
// 表单校验
rules
:
{
roleName
:
[
{
required
:
true
,
message
:
'请输入角色名称'
,
trigger
:
'blur'
}
],
roleKey
:
[
{
required
:
true
,
message
:
'请输入权限字符'
,
trigger
:
'blur'
}
],
roleSort
:
[
{
required
:
true
,
message
:
'请输入角色排序'
,
trigger
:
'blur'
}
]
pn
:
[{
required
:
true
,
message
:
'请输入pn'
,
trigger
:
'blur'
}],
lot
:
[{
required
:
true
,
message
:
'请输入lot'
,
trigger
:
'blur'
}],
plocation
:
[{
required
:
true
,
message
:
'请输入plocation'
,
trigger
:
'blur'
}],
phd
:
[{
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}],
psm
:
[{
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}],
pzl
:
[{
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}],
prank
:
[{
pattern
:
/^
[
0-9
]{1,9}(\.[
0-9
]{1,3})?
$/
,
message
:
'仅能输入数字和小数,限制三位小数'
,
trigger
:
'change'
}]
},
deptOptions
:
[],
formData
:
{}
...
...
@@ -585,19 +585,11 @@ export default {
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
()
const
roleId
=
row
.
businessId
||
this
.
ids
const
roleMenu
=
this
.
getRoleMenuTreeselect
(
roleId
)
getRole
(
roleId
).
then
(
response
=>
{
this
.
form
=
response
.
data
this
.
title
=
'设备管理'
const
id
=
row
.
businessId
getDetailById
(
id
).
then
(
res
=>
{
this
.
form
=
res
.
data
this
.
open
=
true
this
.
getMenuTreeselect
(
roleId
)
this
.
$nextTick
(()
=>
{
roleMenu
.
then
(
res
=>
{
this
.
$refs
.
menu
.
setCheckedKeys
(
res
.
data
.
checkedKeys
)
})
})
this
.
title
=
'修改角色'
})
},
/** 分配数据权限操作 选择菜单 */
...
...
@@ -628,24 +620,37 @@ export default {
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
form
.
menuCheckStrictly
=
false
// 校验通过,提交表单或进行其他操作
console
.
log
(
'form'
,
this
.
form
)
if
(
this
.
form
.
businessId
!==
undefined
)
{
this
.
form
.
menuIds
=
this
.
getMenuAllCheckedKeys
()
updateRole
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
'修改成功'
)
this
.
open
=
false
this
.
getList
()
console
.
log
(
'更新'
)
updatadevice
(
this
.
form
).
then
(
res
=>
{
console
.
log
(
'res'
,
res
)
if
(
res
.
code
===
200
)
{
this
.
open
=
false
this
.
$message
.
success
(
'操作成功'
)
this
.
getList
()
this
.
reFrom
()
}
else
if
(
res
.
code
===
null
)
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
else
{
this
.
form
.
menuIds
=
this
.
getMenuAllCheckedKeys
()
addRole
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
'新增成功'
)
this
.
open
=
false
this
.
getList
()
add
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
open
=
false
this
.
$message
.
success
(
'操作成功'
)
this
.
getList
()
this
.
reFrom
()
}
else
if
(
res
.
code
===
null
)
{
this
.
$message
.
error
(
res
.
message
)
}
})
}
}
else
{
// 校验失败,显示错误信息或进行其他操作
}
})
},
...
...
src/views/processManagement/inventoryRecord/index.vue
View file @
ce6166d2
...
...
@@ -167,25 +167,25 @@
<transition
name=
"fade-transform"
mode=
"out-in"
>
<el-row
v-if=
" activateAbandonedState "
style=
"height: 160px"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"fq
_ys:"
prop=
"fq_y
s"
>
{{
singleDetails
.
fq
_y
s
}}
<el-form-item
label=
"fq
Ys:"
prop=
"fqY
s"
>
{{
singleDetails
.
fq
Y
s
}}
</el-form-item>
<el-form-item
label=
"fq
_bz:"
prop=
"fq_b
z"
>
{{
singleDetails
.
fq
_b
z
}}
<el-form-item
label=
"fq
Bz:"
prop=
"fqB
z"
>
{{
singleDetails
.
fq
B
z
}}
</el-form-item>
<el-form-item
label=
"fq
_dbxi:"
prop=
"fq_d
bxi"
>
{{
singleDetails
.
fq
_d
bxi
}}
<el-form-item
label=
"fq
Dbxi:"
prop=
"fqD
bxi"
>
{{
singleDetails
.
fq
D
bxi
}}
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"fq
_dd:"
prop=
"fq_d
d"
>
{{
singleDetails
.
fq
_d
d
}}
<el-form-item
label=
"fq
Dd:"
prop=
"fqD
d"
>
{{
singleDetails
.
fq
D
d
}}
</el-form-item>
<el-form-item
label=
"fq
_mcode:"
prop=
"fq_m
code"
>
{{
singleDetails
.
fq
_m
code
}}
<el-form-item
label=
"fq
Mcode:"
prop=
"fqM
code"
>
{{
singleDetails
.
fq
M
code
}}
</el-form-item>
<el-form-item
label=
"fq
_yy:"
prop=
"fq_y
y"
>
{{
singleDetails
.
fq
_y
y
}}
<el-form-item
label=
"fq
Yy:"
prop=
"fqY
y"
>
{{
singleDetails
.
fq
Y
y
}}
</el-form-item>
</el-col>
</el-row>
...
...
@@ -308,7 +308,7 @@ export default {
// 选择框
selection
:
false
,
// 选择框根据条件是否可选
selectable
:
(
row
,
index
)
=>
{
selectable
:
(
row
)
=>
{
if
(
row
.
switchs
)
{
return
true
}
...
...
@@ -330,7 +330,7 @@ export default {
ownDefined
:
true
,
prop
:
'ptype'
,
label
:
'库类型'
,
ownDefinedReturn
:
(
row
,
$index
)
=>
{
ownDefinedReturn
:
(
row
)
=>
{
return
this
.
selectedPtype
(
row
.
ptype
)
}
},
...
...
@@ -339,7 +339,7 @@ export default {
prop
:
'poperate'
,
label
:
'库状态'
,
width
:
'180px'
,
ownDefinedReturn
:
(
row
,
$index
)
=>
{
ownDefinedReturn
:
(
row
)
=>
{
return
this
.
selectedPoperate
(
row
.
poperate
)
}
},
...
...
@@ -524,7 +524,12 @@ export default {
/* 激活打开废弃信息栏 */
this
.
activateAbandonedState
=
true
this
.
title
=
'记录详情'
this
.
singleDetails
=
Object
.
assign
({},
response
.
data
,
{
...
row
})
console
.
log
(
row
)
console
.
log
(
response
.
data
)
const
{
fqBz
,
fqDbxi
,
fqDd
,
fqMcode
,
fqYy
}
=
response
.
data
const
fq
=
{
fqBz
,
fqDbxi
,
fqDd
,
fqMcode
,
fqYy
}
this
.
singleDetails
=
Object
.
assign
({},
{
...
row
},
{
...
fq
})
console
.
log
(
this
.
singleDetails
)
}
)
}
...
...
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