Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
lxyl-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
李苏
lxyl-vue
Commits
ef782674
Commit
ef782674
authored
Mar 01, 2024
by
李苏
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
托盘出库连带界面
parent
55ccc793
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1558 additions
and
23 deletions
+1558
-23
index.js
src/router/index.js
+14
-1
index.vue
src/views/ccgl/ckgl/jhd/top/index.vue
+13
-1
index.vue
src/views/ccgl/cxfx/sfhzcx/index.vue
+22
-21
ckqd.vue
src/views/ccgl/kngl/tpck/ckqd.vue
+134
-0
index.vue
src/views/ccgl/kngl/tpck/index.vue
+102
-0
mx.vue
src/views/ccgl/kngl/tpck/mx.vue
+160
-0
akck.vue
src/views/ccgl/kngl/tpck/top/akck.vue
+309
-0
edit.vue
src/views/ccgl/kngl/tpck/top/edit.vue
+280
-0
index.vue
src/views/ccgl/kngl/tpck/top/index.vue
+241
-0
kc.vue
src/views/ccgl/kngl/tpck/top/kc.vue
+183
-0
tbwl.vue
src/views/ccgl/kngl/tpck/top/tbwl.vue
+100
-0
No files found.
src/router/index.js
View file @
ef782674
...
@@ -830,6 +830,19 @@ export const powerRoutes = [
...
@@ -830,6 +830,19 @@ export const powerRoutes = [
},
},
name
:
'wymrz'
,
name
:
'wymrz'
,
path
:
"wymrz"
,
path
:
"wymrz"
,
},
{
component
:
'ccgl/kngl/tpck/index'
,
hidden
:
false
,
meta
:
{
"title"
:
"托盘出库"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
'920071000'
,
},
name
:
'tpck'
,
path
:
"tpck"
,
}
}
...
...
src/views/ccgl/ckgl/jhd/top/index.vue
View file @
ef782674
...
@@ -62,6 +62,11 @@
...
@@ -62,6 +62,11 @@
title
:
"事务类型"
,
title
:
"事务类型"
,
field
:
"swlxName"
,
field
:
"swlxName"
,
width
:
100
width
:
100
},
{
title
:
"货主"
,
field
:
"hzName"
,
width
:
140
},
},
{
{
title
:
"拣货人"
,
title
:
"拣货人"
,
...
@@ -156,6 +161,13 @@
...
@@ -156,6 +161,13 @@
span
:
4
,
span
:
4
,
type
:
'input'
,
type
:
'input'
,
value
:
''
value
:
''
},
{
label
:
'货主'
,
prop
:
'hzInfo'
,
span
:
4
,
type
:
'input'
,
value
:
''
}
}
...
...
src/views/ccgl/cxfx/sfhzcx/index.vue
View file @
ef782674
...
@@ -112,7 +112,7 @@
...
@@ -112,7 +112,7 @@
{
{
"label"
:
"仓库"
,
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"prop"
:
"ckid"
,
"span"
:
8
,
"span"
:
5
,
"type"
:
"RelSelect"
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"value"
:
""
,
"typeConfig"
:
{
"typeConfig"
:
{
...
@@ -126,30 +126,14 @@
...
@@ -126,30 +126,14 @@
{
{
"label"
:
"物料信息"
,
"label"
:
"物料信息"
,
"prop"
:
"wlxxInfo"
,
"prop"
:
"wlxxInfo"
,
"span"
:
8
,
"span"
:
5
,
"type"
:
"input"
,
"type"
:
"input"
,
"value"
:
""
,
"value"
:
""
,
},
},
],
[
// {
// "label": "查询方式",
// "prop": "cxdx",
// "span": 8,
// "type": "RelSelect",
// "value": "",
// "typeConfig": {
// "src": "wms/cxfx/sfhzcx/cxfs/init",
// "match": {
// "value": "id",
// "label": "name"
// }
// },
// },
{
{
"label"
:
"查询方式"
,
"label"
:
"查询方式"
,
"prop"
:
"cxdx"
,
"prop"
:
"cxdx"
,
"span"
:
8
,
"span"
:
6
,
"type"
:
"RelSelect"
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"value"
:
""
,
"typeConfig"
:
{
"typeConfig"
:
{
...
@@ -193,19 +177,36 @@
...
@@ -193,19 +177,36 @@
}
}
},
},
},
},
],
[
// {
// "label": "查询方式",
// "prop": "cxdx",
// "span": 8,
// "type": "RelSelect",
// "value": "",
// "typeConfig": {
// "src": "wms/cxfx/sfhzcx/cxfs/init",
// "match": {
// "value": "id",
// "label": "name"
// }
// },
// },
{
{
"label"
:
"物料批号"
,
"label"
:
"物料批号"
,
"prop"
:
"wlph"
,
"prop"
:
"wlph"
,
"span"
:
8
,
"span"
:
5
,
"type"
:
"input"
,
"type"
:
"input"
,
"value"
:
""
,
"value"
:
""
,
},
},
{
{
"label"
:
"货主"
,
"label"
:
"货主"
,
"prop"
:
"hzInfo"
,
"prop"
:
"hzInfo"
,
"span"
:
8
,
"span"
:
5
,
"type"
:
"input"
,
"type"
:
"input"
,
"value"
:
""
,
"value"
:
""
,
},
},
...
...
src/views/ccgl/kngl/tpck/ckqd.vue
0 → 100644
View file @
ef782674
<
template
>
<BasePage
@
getRow=
'getRow'
ref=
"basePage"
:power=
'power'
:toolButton=
'false'
class=
"min_full"
style=
"height: 100%;border-top: 0px;"
:autoQuery=
'false'
:config=
"config"
>
<template
#
dialog=
"ctx"
>
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</
template
>
<
template
#
toolbar=
"ctx"
>
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
</
template
>
</BasePage>
</template>
<
script
>
import
wlsx
from
'common/src/mixin/wlsx.js'
import
wlphsx
from
'common/src/mixin/wlphsx.js'
export
default
{
mixins
:[
wlphsx
,
wlsx
],
mounted
()
{
},
data
()
{
return
{
power
:
{
add
:
false
,
copy
:
false
,
/* 手动控制删除 */
delButton
:
false
,
/* 手动控制编辑按钮权限 */
editButton
:
false
,
/* 是否渲染右侧操作按钮 */
operateButtons
:
false
,
/* 是否开启工作流按钮 */
workFlow
:
false
,
/* 表格开启选择,以及记住选择 */
showSelection
:
false
,
saveSelected
:
false
},
config
:
{
/* 基本配置*/
url
:
'lxyl/ckgl/tpck/query/cktzqd'
,
queryUrl
:
'lxyl/ckgl/tpck/query/cktzqd'
,
tableTitle
:
[
{
title
:
"库位"
,
field
:
"kwName"
,
width
:
100
,
},
{
title
:
"容器"
,
field
:
"rqCode"
,
width
:
160
,
},
{
title
:
"唯一码"
,
field
:
"packCode"
,
width
:
180
,
},
{
title
:
"物料编码"
,
field
:
"wlxxCode"
,
width
:
140
},
{
title
:
"物料名称"
,
field
:
"wlxxName"
,
width
:
160
},
{
title
:
"规格"
,
field
:
"wlxxGg"
,
width
:
140
},
{
title
:
"计量单位"
,
field
:
"jldwName"
,
width
:
80
},
{
title
:
"物料批号"
,
field
:
"wlph"
,
width
:
140
,
},
{
title
:
"制令号"
,
field
:
"zlh"
,
width
:
180
,
},
{
title
:
"应出数量"
,
field
:
"yfsl"
,
width
:
120
,
fieldType
:
'float'
},
// {
// title: "货主",
// field: "hzName",
// width: 180,
// },
],
queryParams
:
[],
}
}
},
methods
:
{
getRow
(
val
)
{
this
.
$emit
(
'getRow'
,
val
)
},
demo
(
ctx
)
{
if
(
ctx
.
singleItem
&&
ctx
.
singleItem
.
id
)
{
console
.
log
(
ctx
.
singleItem
)
}
else
{
this
.
$warning
(
'请选中一条数据'
)
}
}
},
components
:
{
}
}
</
script
>
<
style
>
</
style
>
src/views/ccgl/kngl/tpck/index.vue
0 → 100644
View file @
ef782674
<
template
>
<div
class=
"outer"
>
<div
class=
" higher flex-column"
>
<!-- 分层-->
<div
class=
"top"
>
<Top
@
getRow=
'topGetRow'
ref=
"top"
></Top>
</div>
<div
class=
"bottom flex"
>
<div
class=
"full"
>
<el-tabs
class=
"full"
v-model=
"activeName"
>
<el-tab-pane
class=
"full"
label=
"出库单明细"
name=
"first"
>
<Mx
ref=
"mx"
class=
"full"
/>
</el-tab-pane>
<el-tab-pane
class=
"full"
label=
"出库清单"
name=
"second"
>
<ckqd
ref=
"ckqd"
class=
"full"
/>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
Top
from
'./top/index.vue'
import
Mx
from
'./mx.vue'
import
ckqd
from
'./ckqd.vue'
export
default
{
components
:
{
Top
,
Mx
,
ckqd
},
data
(){
return
{
activeName
:
'first'
}
},
methods
:
{
topGetRow
(
row
)
{
/* dom赋值*/
let
mid
=
row
.
id
this
.
$refs
.
mx
.
$refs
.
basePage
.
queryParams
.
mid
=
mid
this
.
$refs
.
mx
.
$refs
.
basePage
.
$refs
[
'TablePager'
].
pageQuery
({
setFirstCurrent
:
true
})
this
.
$refs
.
ckqd
.
$refs
.
basePage
.
queryParams
.
mid
=
mid
this
.
$refs
.
ckqd
.
$refs
.
basePage
.
$refs
[
'TablePager'
].
pageQuery
()
},
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.outer
{
overflow
:
auto
;
height
:
calc
(
100vh
-
84px
);
width
:
100%
;
.top
{
width
:
100%
;
height
:
45%
;
}
.bottom
{
width
:
100%
;
height
:
55%
;
.left
{
width
:
50%
;
height
:
100%
;
}
.right
{
width
:
50%
;
height
:
100%
;
}
}
}
.higher
{
height
:
140vh
;
}
.flex-column
{
display
:
flex
;
flex-direction
:
column
;
}
::v-deep
.el-tabs__content
{
height
:
calc
(
100%
-
40px
);
}
::v-deep
.el-tabs__nav-scroll
{
padding-left
:
10px
;
}
</
style
>
src/views/ccgl/kngl/tpck/mx.vue
0 → 100644
View file @
ef782674
<
template
>
<BasePage
@
getRow=
'getRow'
ref=
"basePage"
:power=
'power'
:toolButton=
'false'
class=
"min_full"
style=
"height: 100%;border-top: 0px;"
:autoQuery=
'false'
:config=
"config"
>
<template
#
dialog=
"ctx"
>
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</
template
>
<
template
#
toolbar=
"ctx"
>
</
template
>
</BasePage>
</template>
<
script
>
import
wlsx
from
'common/src/mixin/wlsx.js'
import
wlphsx
from
'common/src/mixin/wlphsx.js'
export
default
{
mixins
:[
wlsx
,
wlphsx
],
data
()
{
return
{
power
:
{
add
:
false
,
copy
:
false
,
/* 手动控制删除 */
delButton
:
false
,
/* 手动控制编辑按钮权限 */
editButton
:
false
,
/* 是否渲染右侧操作按钮 */
operateButtons
:
false
,
/* 是否开启工作流按钮 */
workFlow
:
false
,
/* 表格开启选择,以及记住选择 */
showSelection
:
false
,
saveSelected
:
false
},
config
:
{
/* 基本配置*/
url
:
'lxyl/ckgl/tpck'
,
queryUrl
:
'lxyl/ckgl/tpck/query/detail'
,
tableTitle
:
[{
title
:
"物料编码"
,
field
:
"wlxxCode"
,
fieldType
:
"upper"
,
width
:
140
},
{
title
:
"物料名称"
,
field
:
"wlxxName"
,
width
:
140
},
{
title
:
"物料规格"
,
field
:
"wlxxGg"
,
width
:
140
},
{
title
:
"物料批号"
,
field
:
"wlph"
,
width
:
180
},
{
title
:
"计量单位"
,
field
:
"jldwName"
,
width
:
100
,
},
{
title
:
"应出数量"
,
field
:
"yfsl"
,
width
:
100
,
},
{
title
:
"已出库数量"
,
field
:
"cksl"
,
width
:
100
,
},
// {
// title: "库存数量",
// field: "kcsl",
// width: 100,
// },
{
title
:
"制令号"
,
field
:
"zlh"
,
width
:
180
,
},
// {
// title: "已出数量",
// field: "ycsl",
// width: 100,
// },
// {
// title: "过账数量",
// field: "gzsl",
// width: 100,
// },
{
title
:
"状态"
,
field
:
"zt"
,
width
:
100
,
"transform"
:
{
"url"
:
"wms/rkgl/sjtz/init/zt"
,
"label"
:
"name"
,
"value"
:
"id"
}
},
{
title
:
"来源单号"
,
field
:
"lydjid"
,
width
:
120
,
},
{
title
:
"关闭人"
,
field
:
"gbr"
,
width
:
120
,
},
{
title
:
"关闭原因"
,
field
:
"gbyy"
,
width
:
200
,
},
{
title
:
"关闭时间"
,
field
:
"gbsj"
,
fieldType
:
'ftDateTime'
},
{
title
:
"备注"
,
field
:
"bz"
,
width
:
200
}
],
queryParams
:
[],
}
}
},
methods
:
{
getRow
(
val
){
this
.
$emit
(
'getRow'
,
val
)
},
demo
(
ctx
){
if
(
ctx
.
singleItem
&&
ctx
.
singleItem
.
id
){
console
.
log
(
ctx
.
singleItem
)
}
else
{
this
.
$warning
(
'请选中一条数据'
)
}
}
},
components
:
{
}
}
</
script
>
<
style
>
</
style
>
src/views/ccgl/kngl/tpck/top/akck.vue
0 → 100644
View file @
ef782674
<
template
>
<RelDialog
bigTitle
detailTable=
'CKTZQD'
@
getFormDetail=
'getFormDetail'
width=
"70%"
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"100px"
:rules=
"rules"
>
<Kc
@
save=
'kcSave'
v-if=
"showDialog"
:app=
'this'
/>
<el-row
:gutter=
"20"
:app=
"this"
class=
"editRow"
>
<EditColItem
:required=
"item.required||false"
:readonly=
"item.readonly?true:false "
v-for=
"(item,index) in editColItemList "
:value=
"item.value"
:span=
"item.span"
:label=
"item.label"
:prop=
'item.prop'
:key=
"item.prop"
:type=
"item.type"
:typeConfig=
'item.typeConfig'
:rule=
"item.rule"
/>
<!-- 额外数据 -->
</el-row>
<div
class=
"editTab"
>
<editTableForEdit
:AuxButton=
'false'
code=
'WMSWLXX'
:indexApp=
'app'
:type=
'type'
@
save=
'save'
ref=
"editTableForEdit"
:editTableTitle=
'editTableTitle'
v-if=
"editTableForEdit"
:computedRow=
'computedRow'
:editTableData=
"formDetail"
>
<template
#
toolbar=
"ctx"
>
<el-button
@
click=
"xzkc(ctx.basePage)"
size=
'mini'
type=
"primary"
>
选择库存
</el-button>
<!--
<AuxButton
:queryParams=
"
{
ckid:form.ckid
}" rename='选择库存' code='WLKC' @save="savekc" /> -->
</
template
>
</editTableForEdit>
</div>
<el-row
:gutter=
"20"
:app=
"this"
class=
"editRow bottomInfo"
>
<EditColItem
:required=
"item.required||false"
:readonly=
"item.readonly?true:false "
v-for=
"(item,index) in editColItemList2 "
:value=
"item.value"
:span=
"item.span"
:label=
"item.label"
:prop=
'item.prop'
:key=
"item.prop"
:type=
"item.type"
:typeConfig=
'item.typeConfig'
:rule=
"item.rule"
>
</EditColItem>
</el-row>
</el-form>
<!-- editTab数据 -->
</RelDialog>
</template>
<
script
>
import
{
toFixed
,
digit
,
doRkdChange
}
from
'common/src/utils/blur.js'
import
{
editMixin
,
editMixin_expand
}
from
'common'
import
Kc
from
'./kc.vue'
export
default
{
mixins
:
[
editMixin
,
editMixin_expand
],
methods
:
{
kcSave
(
obj
){
debugger
let
{
list
}
=
obj
this
.
form
.
ckid
=
list
[
0
].
ckid
this
.
form
.
hzid
=
list
[
0
].
hzid
this
.
form
.
hzName
=
list
[
0
].
hzName
// this.form.ywrq=row.ywrq
let
length
=
this
.
formDetail
.
length
this
.
formDetail
.
splice
(
0
,
length
)
list
.
forEach
(
item
=>
{
item
.
yfsl
=
item
.
kcsl
item
.
lydjid
=
item
.
id
delete
item
.
id
this
.
formDetail
.
push
(
_
.
cloneDeep
(
item
))
})
},
xzkc
(){
this
.
showDialog
=
true
},
/* 需要整体row时的回调 */
computedRow
(
row
)
{
// this.$refs.editTableForEdit.$forceUpdate()
},
/* 选择list时的回调 */
save
(
list
)
{
list
.
forEach
(
async
item
=>
{
// let res = await this.$post('kc/common/query/kcsl', {
// ckid: this.form.ckid,
// wlid: item.id
// })
// item.kcsl = res.data.records?res.data.records.kcsl:0
// 转换并且push
item
.
wlid
=
item
.
id
item
.
wlxxName
=
item
.
name
item
.
wlxxCode
=
item
.
code
item
.
wlxxGg
=
item
.
gg
delete
item
.
id
this
.
formDetail
.
push
(
_
.
cloneDeep
(
item
))
})
},
/* 选择库存回调 */
savekc
(
list
)
{
list
.
forEach
(
item
=>
{
// 转换并且push
delete
item
.
id
this
.
formDetail
.
push
(
_
.
cloneDeep
(
item
))
})
}
},
mounted
()
{
this
.
form
.
llrName
=
this
.
username
this
.
form
.
llrid
=
this
.
userid
},
components
:{
Kc
},
data
()
{
return
{
DialogWidth
:
'70vw'
,
DialogName
:
''
,
DialogTitle
:
'选择库存'
,
showDialog
:
false
,
form
:{
djly
:
'KC'
},
/* 常规edit数据 */
editColItemList
:
[{
label
:
'出库单号'
,
prop
:
'djid'
,
span
:
8
,
type
:
'input'
,
// "required": true,
},
{
label
:
'业务日期'
,
prop
:
'ywrq'
,
span
:
8
,
type
:
'date'
,
value
:
new
Date
().
getTime
(),
"required"
:
true
,
},
{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"jcsj/common/ck/queryCkid"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
},
change
:
(
row
)
=>
{
this
.
form
.
bgy
=
row
.
bgy
}
}
},
// {
// label: '需求日期',
// prop: 'xqrq',
// span: 8,
// type: 'date',
// value: new Date().getTime(),
// "required": true,
// },
{
"label"
:
"事务类型"
,
"prop"
:
"swlxid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"lxyl/ckgl/tpck/init/swlx"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
"label"
:
"领料部门"
,
"prop"
:
"bmid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"jcsj/common/bm/query"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"bmmc"
}
}
},
{
label
:
'货主'
,
prop
:
'hzid'
,
span
:
8
,
required
:
true
,
type
:
'AuxInput'
,
typeConfig
:
{
isRequest
:
true
,
code
:
'HZID'
,
label
:
'hzName'
,
transform
:
{
value
:
'id'
,
label
:
'name'
}
}
},
{
label
:
'备注'
,
prop
:
'bz'
,
span
:
24
,
type
:
'input'
,
},
],
/* 从表编辑数据 */
editTableTitle
:
[{
title
:
"序号"
,
field
:
"xh"
,
width
:
50
,
align
:
"center"
},
{
title
:
"物料编码"
,
field
:
"wlxxCode"
,
width
:
180
,
},
{
title
:
"物料名称"
,
field
:
"wlxxName"
,
width
:
160
},
{
title
:
"规格"
,
field
:
"wlxxGg"
,
width
:
140
},
{
title
:
"应出数量"
,
field
:
"yfsl"
,
allowEdit
:
true
,
type
:
'inputNumber'
,
// width: 200,
blur
:
toFixed
(
null
),
},
// {
// title: "库存数量",
// field: "kcsl",
// width: 200,
// blur: toFixed(null),
// },
{
title
:
"计量单位"
,
field
:
"jldwName"
,
width
:
100
,
allowEdit
:
false
},
{
title
:
"物料批号"
,
field
:
"wlph"
,
type
:
'inputText'
,
width
:
180
,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
title
:
"制令号"
,
field
:
"zlh"
,
type
:
'inputText'
,
width
:
180
,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
show
:
JSON
.
parse
(
localStorage
.
getItem
(
'isKwgl'
)),
title
:
"库位"
,
field
:
"kwid"
,
width
:
240
,
type
:
'AuxInput'
,
typeConfig
:
{
isRequest
:
false
,
"code"
:
"KWWH"
,
"label"
:
"kwName"
,
queryParams
:
(
row
)
=>
{
return
{
ckid
:
this
.
form
.
ckid
}
},
"transform"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
title
:
"备注"
,
field
:
"bz"
,
width
:
200
,
type
:
'inputText'
,
allowEdit
:
true
,
}
]
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
url("~common/src/assets/styles/editDetail.scss")
;
</
style
>
src/views/ccgl/kngl/tpck/top/edit.vue
0 → 100644
View file @
ef782674
<
template
>
<RelDialog
bigTitle
detailTable=
'CKTZMX'
@
getForm=
'getForm'
@
getFormDetail=
'getFormDetail'
width=
"70%"
:type=
'type'
:editApp=
'editApp'
:app=
'app'
:buttonApp=
'buttonApp'
>
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"100px"
:rules=
"rules"
>
<el-row
:gutter=
"20"
:app=
"this"
class=
"editRow"
>
<EditColItem
:required=
"item.required||false"
:readonly=
"item.readonly?true:false "
v-for=
"(item,index) in editColItemList "
:value=
"item.value"
:span=
"item.span"
:label=
"item.label"
:prop=
'item.prop'
:key=
"item.prop"
:type=
"item.type"
:typeConfig=
'item.typeConfig'
:rule=
"item.rule"
/>
<!-- 额外数据 -->
</el-row>
<div
class=
"editTab"
>
<editTableForEdit
code=
'WMSWLXX'
:indexApp=
'app'
:type=
'type'
@
save=
'save'
ref=
"editTableForEdit"
:editTableTitle=
'editTableTitle'
v-if=
"editTableForEdit"
:computedRow=
'computedRow'
:editTableData=
"formDetail"
>
<!--
<template
v-if=
"type!='view'"
#
toolbar=
"ctx"
>
<AuxButton
:queryParams=
"
{
ckid:form.ckid
}" rename='选择库存' code='WLKC' @save="savekc" />
</
template
>
-->
</editTableForEdit>
</div>
<el-row
:gutter=
"20"
:app=
"this"
class=
"editRow bottomInfo"
>
<EditColItem
:required=
"item.required||false"
:readonly=
"item.readonly?true:false "
v-for=
"(item,index) in editColItemList2 "
:value=
"item.value"
:span=
"item.span"
:label=
"item.label"
:prop=
'item.prop'
:key=
"item.prop"
:type=
"item.type"
:typeConfig=
'item.typeConfig'
:rule=
"item.rule"
/>
</el-row>
</el-form>
<!-- editTab数据 -->
</RelDialog>
</template>
<
script
>
import
{
toFixed
,
digit
,
doRkdChange
}
from
'common/src/utils/blur.js'
import
{
editMixin
,
editMixin_expand
}
from
'common'
export
default
{
mixins
:
[
editMixin
,
editMixin_expand
],
methods
:
{
getForm
(
val
){
val
.
djly
=
'M'
},
/* 需要整体row时的回调 */
computedRow
(
row
)
{
// this.$refs.editTableForEdit.$forceUpdate()
},
/* 选择list时的回调 */
save
(
list
)
{
list
.
forEach
(
async
item
=>
{
// let res = await this.$post('kc/common/query/kcsl', {
// ckid: this.form.ckid,
// wlid: item.id
// })
// item.kcsl = res.data.records?res.data.records.kcsl:0
// 转换并且push
item
.
wlid
=
item
.
id
item
.
wlxxName
=
item
.
name
item
.
wlxxCode
=
item
.
code
item
.
wlxxGg
=
item
.
gg
delete
item
.
id
this
.
formDetail
.
push
(
_
.
cloneDeep
(
item
))
})
},
/* 选择库存回调 */
savekc
(
list
)
{
list
.
forEach
(
item
=>
{
// 转换并且push
delete
item
.
id
this
.
formDetail
.
push
(
_
.
cloneDeep
(
item
))
})
}
},
mounted
()
{
this
.
form
.
llrName
=
this
.
username
this
.
form
.
llrid
=
this
.
userid
},
data
()
{
return
{
form
:{
djly
:
'M'
},
/* 常规edit数据 */
editColItemList
:
[{
label
:
'出库单号'
,
prop
:
'djid'
,
span
:
8
,
type
:
'input'
,
// "required": true,
},
{
label
:
'业务日期'
,
prop
:
'ywrq'
,
span
:
8
,
type
:
'date'
,
value
:
new
Date
().
getTime
(),
"required"
:
true
,
},
{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"jcsj/common/ck/queryCkid"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
},
change
:
(
row
)
=>
{
this
.
form
.
bgy
=
row
.
bgy
}
}
},
// {
// label: '需求日期',
// prop: 'xqrq',
// span: 8,
// type: 'date',
// value: new Date().getTime(),
// "required": true,
// },
{
"label"
:
"事务类型"
,
"prop"
:
"swlxid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"lxyl/ckgl/cktz/init/swlx"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
"label"
:
"领料部门"
,
"prop"
:
"bmid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"jcsj/common/bm/query"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"bmmc"
}
}
},
{
label
:
'货主'
,
prop
:
'hzid'
,
span
:
8
,
required
:
true
,
type
:
'AuxInput'
,
typeConfig
:
{
isRequest
:
true
,
code
:
'HZID'
,
label
:
'hzName'
,
transform
:
{
value
:
'id'
,
label
:
'name'
}
}
},
{
label
:
'备注'
,
prop
:
'bz'
,
span
:
24
,
type
:
'input'
,
},
],
/* 从表编辑数据 */
editTableTitle
:
[{
title
:
"序号"
,
field
:
"xh"
,
width
:
50
,
align
:
"center"
},
{
title
:
"物料编码"
,
field
:
"wlxxCode"
,
width
:
180
,
},
{
title
:
"物料名称"
,
field
:
"wlxxName"
,
width
:
160
},
{
title
:
"规格"
,
field
:
"wlxxGg"
,
width
:
140
},
{
title
:
"应出数量"
,
field
:
"yfsl"
,
allowEdit
:
true
,
type
:
'inputNumber'
,
// width: 200,
blur
:
toFixed
(
null
),
},
// {
// title: "库存数量",
// field: "kcsl",
// width: 200,
// blur: toFixed(null),
// },
{
title
:
"计量单位"
,
field
:
"jldwName"
,
width
:
100
,
allowEdit
:
false
},
{
title
:
"物料批号"
,
field
:
"wlph"
,
type
:
'inputText'
,
width
:
180
,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
title
:
"制令号"
,
field
:
"zlh"
,
type
:
'inputText'
,
width
:
180
,
// show: JSON.parse(localStorage.getItem('isPhgl'))
},
{
show
:
JSON
.
parse
(
localStorage
.
getItem
(
'isKwgl'
)),
title
:
"库位"
,
field
:
"kwid"
,
width
:
240
,
type
:
'AuxInput'
,
typeConfig
:
{
isRequest
:
false
,
"code"
:
"KWWH"
,
"label"
:
"kwName"
,
queryParams
:
(
row
)
=>
{
return
{
ckid
:
this
.
form
.
ckid
}
},
"transform"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
title
:
"备注"
,
field
:
"bz"
,
width
:
200
,
type
:
'inputText'
,
allowEdit
:
true
,
}
]
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
url("~common/src/assets/styles/editDetail.scss")
;
</
style
>
src/views/ccgl/kngl/tpck/top/index.vue
0 → 100644
View file @
ef782674
<
template
>
<BasePage
:power=
'power'
@
getRow=
'getRow'
class=
"min_full"
style=
"height: 100%;"
:config=
"config"
>
<template
#
dialog=
"ctx"
>
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
<Tbwl
:app=
'ctx.basePage'
v-if=
"ctx.basePage.showDialog"
/>
<Akck
:type=
"'add'"
v-if=
"ctx.basePage.showAdd"
:app=
'ctx.basePage'
:buttonApp=
'ctx.basePage'
/>
</
template
>
<
template
#
toolbar=
"ctx"
>
<el-button
@
click=
"akck(ctx.basePage)"
size=
'mini'
type=
"primary"
>
按库存开
</el-button>
<el-button
@
click=
"qr(ctx.basePage)"
size=
'mini'
type=
"primary"
>
确认
</el-button>
<el-button
@
click=
"qxqr(ctx.basePage)"
size=
'mini'
type=
"primary"
>
取消确认
</el-button>
<!--
<el-button
@
click=
"demo(ctx.basePage)"
size=
'mini'
type=
"primary"
>
直接入库
</el-button>
-->
<!--
<ImportButton
@
success=
"()=>
{
ctx.basePage.refresh()
}" :url="'/lxyl/ckgl/tpck/import'" /> -->
<!--
<el-button
@
click=
"tbwl(ctx.basePage)"
size=
'mini'
type=
"primary"
style=
"margin-left: 10px;"
>
同步sap出库单
</el-button
--
>
</
template
>
</BasePage>
</template>
<
script
>
import
Edit
from
'./edit.vue'
import
Tbwl
from
'./tbwl.vue'
import
Akck
from
'./akck.vue'
export
default
{
data
()
{
return
{
power
:
{
add
:
false
,
copy
:
false
,
delButton
:
false
,
editButton
:
false
,
operateButtons
:
false
,
workFlow
:
false
,
/* 表格 */
showSelection
:
true
,
saveSelected
:
true
},
config
:
{
queryDetail
:
true
,
/* 基本配置*/
url
:
'lxyl/ckgl/tpck'
,
tableTitle
:
[{
title
:
"状态"
,
field
:
"zt"
,
fieldType
:
"ftString"
,
align
:
'center'
,
width
:
80
,
"transform"
:
{
"url"
:
"lxyl/ckgl/tpck/init/zt"
,
"label"
:
"name"
,
"value"
:
"id"
}
},
{
title
:
"出库单号"
,
field
:
"djid"
,
width
:
140
},
{
title
:
"业务日期"
,
field
:
"ywrq"
,
fieldType
:
'ftDate'
},
{
title
:
"货主"
,
field
:
"hzName"
,
width
:
140
},
{
title
:
"事务类型"
,
field
:
"swlxName"
,
width
:
100
},
{
title
:
"仓库"
,
field
:
"ckName"
,
width
:
140
},
// {
// title: "需求日期",
// field: "xqrq",
// fieldType: 'ftDate'
// },
{
title
:
"领料部门"
,
field
:
"bmName"
,
width
:
140
},
{
title
:
"单据来源"
,
field
:
"djly"
,
width
:
140
,
"transform"
:
{
"url"
:
"lxyl/ckgl/tpck/init/djly"
,
"label"
:
"name"
,
"value"
:
"id"
}
},
{
title
:
"来源单据号"
,
field
:
"lydjDjid"
,
width
:
140
},
{
title
:
"备注"
,
field
:
"bz"
,
width
:
240
},
{
title
:
"维护人"
,
field
:
"whr"
},
{
title
:
"维护时间"
,
field
:
"whsj"
,
fieldType
:
'ftDateTime'
}
],
queryParams
:
[
[{
label
:
'日期'
,
startProp
:
"start"
,
endProp
:
"end"
,
span
:
8
,
type
:
'RelDaterangeV2'
,
startValue
:
new
Date
().
getTime
()
-
1000
*
60
*
60
*
24
*
30
,
endValue
:
new
Date
().
getTime
(),
},
{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"typeConfig"
:
{
"src"
:
"jcsj/common/ck/queryCkid"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
label
:
'单据编号'
,
prop
:
'djid'
,
span
:
8
,
type
:
'input'
,
value
:
''
}
],[
{
label
:
'状态'
,
prop
:
'zt'
,
span
:
8
,
type
:
'RelSelect'
,
typeConfig
:
{
src
:
'lxyl/ckgl/tpck/init/zt'
}
},
{
label
:
'货主'
,
prop
:
'hzName'
,
span
:
8
,
type
:
'input'
,
}
]
],
/* 默认启停用 */
}
}
},
methods
:
{
akck
(
ctx
){
ctx
.
showAdd
=
true
},
qr
(
ctx
){
if
(
ctx
.
singleItem
&&
ctx
.
singleItem
.
id
)
{
this
.
$confirm
(
'是否继续操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
res
=>
{
this
.
$post
(
'lxyl/ckgl/tpck/confirm'
,
{
id
:
ctx
.
singleItem
.
id
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
})
}
else
{
this
.
$warning
(
'请选中一条数据'
)
}
},
qxqr
(
ctx
){
if
(
ctx
.
singleItem
&&
ctx
.
singleItem
.
id
)
{
this
.
$confirm
(
'是否继续操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
res
=>
{
this
.
$post
(
'lxyl/ckgl/tpck/unconfirm'
,
{
id
:
ctx
.
singleItem
.
id
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
})
}
else
{
this
.
$warning
(
'请选中一条数据'
)
}
},
tbwl
(
ctx
){
ctx
.
DialogWidth
=
'30vw'
ctx
.
DialogTitle
=
'同步sap出库单'
ctx
.
showDialog
=
true
},
getRow
(
val
){
this
.
$emit
(
'getRow'
,
val
)
}
},
components
:
{
Edit
,
Tbwl
,
Akck
}
}
</
script
>
<
style
>
</
style
>
src/views/ccgl/kngl/tpck/top/kc.vue
0 → 100644
View file @
ef782674
<
template
>
<DefaultDialog
:app=
'app'
>
<div
slot=
"form"
style=
"display: flex;height: 70vh;"
>
<BasePage
ref=
"basePage"
:power=
'power'
class=
"min_full"
style=
"height: 100%;"
:config=
"config"
>
ref="basePage" :power='power' class="min_full" :config="config">
<template
#
dialog=
"ctx"
>
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
</
template
>
<
template
#
toolbar=
"ctx"
>
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<!--
<el-button
@
click=
"demo(ctx.basePage)"
size=
'mini'
type=
"primary"
>
示例按钮
</el-button>
-->
</
template
>
</BasePage>
</div>
<div
slot=
"reFooter"
class=
"refooter"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"app.showDialog=false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"save()"
>
保 存
</el-button>
</span>
</div>
</DefaultDialog>
</template>
<
script
>
export
default
{
props
:
{
app
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
}
},
async
mounted
()
{
},
data
()
{
return
{
power
:
{
add
:
false
,
copy
:
false
,
delButton
:
false
,
editButton
:
false
,
operateButtons
:
false
,
workFlow
:
false
,
/* 表格 */
showSelection
:
true
,
saveSelected
:
true
},
config
:
{
/* 基本配置*/
url
:
'lxyl/ckgl/cktz/query/kc'
,
queryUrl
:
'lxyl/ckgl/cktz/query/kc'
,
tableTitle
:
[{
title
:
"库位"
,
field
:
"kwName"
,
width
:
100
,
},
{
title
:
"容器"
,
field
:
"rqCode"
,
width
:
160
,
},
{
title
:
"唯一码"
,
field
:
"packCode"
,
width
:
180
,
},
{
title
:
"物料编码"
,
field
:
"wlxxCode"
,
width
:
140
},
{
title
:
"物料名称"
,
field
:
"wlxxName"
,
width
:
160
},
{
title
:
"规格"
,
field
:
"wlxxGg"
,
width
:
140
},
{
title
:
"计量单位"
,
field
:
"jldwName"
,
width
:
140
},
{
title
:
"物料批号"
,
field
:
"wlph"
,
width
:
140
,
},
{
title
:
"库位名称"
,
field
:
"wlxxName"
,
width
:
120
,
},
{
title
:
"制令号"
,
field
:
"zlh"
,
width
:
180
,
},
{
title
:
"库存数量"
,
field
:
"kcsl"
,
width
:
120
,
fieldType
:
'float'
},
{
title
:
"货主"
,
field
:
"hzName"
,
width
:
180
,
},
],
queryParams
:
[
[{
label
:
'物料信息'
,
prop
:
'wlinfo'
,
span
:
6
,
type
:
'input'
,
value
:
''
},
{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
6
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"typeConfig"
:
{
"src"
:
"jcsj/common/ck/queryCkid"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
}
]
],
/* 默认启停用 */
showqt
:
false
,
}
}
},
methods
:
{
save
(){
let
list
=
this
.
$refs
.
basePage
.
$refs
.
TablePager
.
selectedList
||
[]
if
(
list
.
length
==
0
){
this
.
$warning
(
'请至少勾选一条数据'
)
}
else
{
let
obj
=
{
list
:
list
}
/* 判定list wlid是否重复*/
let
hzid
=
list
.
map
(
item
=>
item
.
hzid
)
hzid
=
[...
new
Set
(
hzid
)]
if
(
hzid
.
length
>
1
){
this
.
$warning
(
'所选项货主不唯一,请选择相同货主的数据。'
)
}
else
{
this
.
$emit
(
'save'
,
obj
)
this
.
app
.
showDialog
=
false
}
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ccgl/kngl/tpck/top/tbwl.vue
0 → 100644
View file @
ef782674
<
template
>
<DefaultDialog
v-loading=
'isLoading'
:element-loading-text=
"text"
:app=
'app'
>
<div
slot=
"form"
style=
""
>
<el-form
slot=
"form"
ref=
"form"
:model=
"form"
label-width=
"100px"
:rules=
"rules"
>
<el-row
v-if=
"loading"
:gutter=
"20"
:app=
"this"
class=
"editRow"
>
<EditColItem
:required=
"item.required||false"
:readonly=
"item.readonly?true:false "
v-for=
"(item,index) in editColItemList "
:value=
"item.value"
:span=
"item.span"
:label=
"item.label"
v-if=
"(item.show==false)?false:true"
:prop=
'item.prop'
:key=
"item.prop"
:type=
"item.type"
:typeConfig=
'item.typeConfig'
:rule=
"item.rule"
/>
<!-- 额外数据 -->
</el-row>
</el-form>
</div>
<div
slot=
"reFooter"
class=
"refooter"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"app.showDialog=false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"save()"
>
确 定
</el-button>
</span>
</div>
</DefaultDialog>
</
template
>
<
script
>
import
{
editMixin
,
editMixin_expand
}
from
'common'
export
default
{
mixins
:
[
editMixin
,
editMixin_expand
],
props
:
{
app
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
}
},
async
mounted
()
{
/* 初始化数据 */
this
.
$post
(
'common/datetime'
,{}).
then
(
res
=>
{
let
nowTime
=
res
.
data
.
data
||
new
Date
().
getTime
()
/* 初始赋值*/
this
.
nowTime
=
nowTime
this
.
editColItemList
[
0
].
value
=
nowTime
-
24
*
60
*
60
*
1000
this
.
editColItemList
[
1
].
value
=
nowTime
this
.
loading
=
true
})
},
data
()
{
return
{
isLoading
:
false
,
text
:
'正在请求中...'
,
readonly
:
false
,
loading
:
false
,
editColItemList
:[
{
label
:
'开始时间'
,
prop
:
'start'
,
span
:
24
,
type
:
'datetime'
,
value
:
''
,
"required"
:
true
,
},
{
label
:
'结束时间'
,
prop
:
'end'
,
span
:
24
,
type
:
'datetime'
,
value
:
''
,
"required"
:
true
,
}
]
}
},
methods
:
{
save
(){
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
){
this
.
isLoading
=
true
this
.
$post
(
'lxyl/ckgl/llck/sap/sync'
,
this
.
form
).
then
(
res
=>
{
if
(
res
.
success
){
this
.
isLoading
=
false
this
.
$success
(
'操作成功'
)
this
.
app
.
showDialog
=
false
this
.
app
.
$refs
.
TablePager
.
refresh
()
}
}).
finally
(
res
=>
{
this
.
isLoading
=
false
})
}
})
}
}
}
</
script
>
<
style
scoped
>
</
style
>
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