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
d6a1ad70
Commit
d6a1ad70
authored
Apr 19, 2024
by
李苏
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
STO销售交货单
parent
8a6a8ed6
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
726 additions
and
0 deletions
+726
-0
index.js
src/router/index.js
+14
-0
ckbg.vue
src/views/ccgl/jcsj/stoxsjhd/ckbg.vue
+95
-0
dialog.vue
src/views/ccgl/jcsj/stoxsjhd/dialog.vue
+45
-0
edit.vue
src/views/ccgl/jcsj/stoxsjhd/edit.vue
+47
-0
index.vue
src/views/ccgl/jcsj/stoxsjhd/index.vue
+425
-0
tbjhd.vue
src/views/ccgl/jcsj/stoxsjhd/tbjhd.vue
+100
-0
No files found.
src/router/index.js
View file @
d6a1ad70
...
@@ -370,6 +370,20 @@ export const powerRoutes = [
...
@@ -370,6 +370,20 @@ export const powerRoutes = [
},
},
name
:
'xsjhd'
,
name
:
'xsjhd'
,
path
:
"xsjhd"
,
path
:
"xsjhd"
,
},
{
erpComponent
:
false
,
component
:
'ccgl/jcsj/stoxsjhd/index'
,
hidden
:
false
,
meta
:
{
"title"
:
"STO销售交货单"
,
"icon"
:
""
,
"noCache"
:
false
,
"link"
:
null
,
"mkid"
:
'920040510'
,
},
name
:
'stoxsjhd'
,
path
:
"stoxsjhd"
,
}
}
],
],
},
},
...
...
src/views/ccgl/jcsj/stoxsjhd/ckbg.vue
0 → 100644
View file @
d6a1ad70
<
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
: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
.
form
.
id
=
this
.
app
.
singleItem
.
id
},
data
()
{
return
{
isLoading
:
false
,
text
:
'加载中'
,
readonly
:
false
,
editColItemList
:
[{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
24
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"required"
:
true
,
"typeConfig"
:
{
"src"
:
"lxyl/common/queryCk"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
},
params
:
{
ckfl
:
'X'
}
}
}
]
}
},
methods
:
{
save
()
{
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
isLoading
=
true
this
.
$post
(
'lxyl/ckgl/usofh/sync/ckToSap'
,
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
>
src/views/ccgl/jcsj/stoxsjhd/dialog.vue
0 → 100644
View file @
d6a1ad70
<
template
>
<DefaultDialog
:app=
'app'
>
<div
slot=
"form"
style=
"display: flex;height: 70vh;"
>
DialogTitle:'新增',
showDialog:false,
</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
{
}
},
methods
:
{
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ccgl/jcsj/stoxsjhd/edit.vue
0 → 100644
View file @
d6a1ad70
<
template
>
<RelDialog
width=
"50%"
: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"
>
<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>
</el-form>
</RelDialog>
</
template
>
<
script
>
import
{
editMixin
}
from
'common'
export
default
{
mixins
:
[
editMixin
],
data
()
{
return
{
editColItemList
:
[
{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
8
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"typeConfig"
:
{
"src"
:
"jcsj/common/ck/queryCkid"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
label
:
'备注'
,
prop
:
'bz'
,
span
:
16
,
type
:
'input'
},
]
}
}
}
</
script
>
src/views/ccgl/jcsj/stoxsjhd/index.vue
0 → 100644
View file @
d6a1ad70
<
template
>
<BasePage
:power=
'power'
class=
"min_full"
:config=
"config"
>
<template
#
dialog=
"ctx"
>
<!-- 嵌入默认页面额外弹框的插槽 ctx.pagePage来操作默认页面 -->
<Tbjhd
:app=
'ctx.basePage'
v-if=
"ctx.basePage.showDialog&&ctx.basePage.DialogTitle=='同步交货单'"
/>
<Ckbg
:app=
'ctx.basePage'
v-if=
"ctx.basePage.showDialog&&ctx.basePage.DialogTitle=='仓库变更'"
/>
</
template
>
<
template
#
toolbar=
"ctx"
>
<!-- 嵌入默认页面工具栏的插槽 ctx.pagePage来操作默认页面 -->
<el-button
@
click=
"tbjhd(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=
"sapgz(ctx.basePage)"
size=
'mini'
type=
"primary"
>
SAP过账
</el-button>
<el-button
@
click=
"gb(ctx.basePage)"
size=
'mini'
type=
"primary"
>
关闭
</el-button>
<el-button
@
click=
"sfsap(ctx.basePage)"
size=
'mini'
type=
"primary"
>
释放SAP修改权限
</el-button>
<el-button
@
click=
"ckbg(ctx.basePage)"
size=
'mini'
type=
"primary"
>
仓库变更
</el-button>
</
template
>
</BasePage>
</template>
<
script
>
import
Edit
from
'./edit.vue'
import
Tbjhd
from
'./tbjhd.vue'
import
Ckbg
from
'./ckbg.vue'
export
default
{
data
()
{
return
{
power
:
{
add
:
false
,
copy
:
false
,
/* 手动控制删除 */
delButton
:
true
,
/* 手动控制编辑按钮权限 */
editButton
:
true
,
/* 是否渲染右侧操作按钮 */
operateButtons
:
true
,
/* 是否开启工作流按钮 */
workFlow
:
false
,
/* 表格开启选择,以及记住选择 */
showSelection
:
true
,
saveSelected
:
true
},
config
:
{
/* 基本配置*/
url
:
'lxyl/ckgl/sto/usofh'
,
tableTitle
:
[{
title
:
"工厂编码"
,
field
:
"hzCode"
,
fieldType
:
"upper"
,
width
:
140
},
{
title
:
"工厂"
,
field
:
"hzName"
,
width
:
140
},
{
title
:
"仓库编码"
,
field
:
"ckCode"
,
fieldType
:
"upper"
,
width
:
140
},
{
title
:
"仓库"
,
field
:
"ckName"
,
width
:
140
},
{
title
:
"销售交货单"
,
field
:
"vbeln"
,
width
:
140
},
{
title
:
"行项目"
,
field
:
"posnr"
,
width
:
140
},
{
title
:
"物料编码"
,
field
:
"wlCode"
,
width
:
140
},
{
title
:
"物料名称"
,
field
:
"wlName"
,
width
:
140
},
{
title
:
"交货数量"
,
field
:
"lfimg"
,
width
:
140
},
{
title
:
"交货数量"
,
field
:
"sfsl"
,
width
:
140
},
{
title
:
"已开出库单"
,
field
:
"ckdbz"
,
width
:
100
,
formatter
(
a
,
b
,
v
)
{
let
map
=
{
Y
:
'是'
,
N
:
'否'
}
return
map
[
v
]
}
},
{
title
:
"状态"
,
field
:
"zt"
,
"transform"
:
{
"url"
:
"lxyl/ckgl/usofh/init/zt"
,
"label"
:
"name"
,
"value"
:
"id"
},
width
:
100
},
{
title
:
"销售订单号"
,
field
:
"kdauf"
,
width
:
140
},
{
title
:
"销售行项目"
,
field
:
"kdpos"
,
width
:
140
},
{
title
:
"特殊库存"
,
field
:
"sobkz"
,
width
:
140
},
{
title
:
"客户编码"
,
field
:
"khCode"
,
width
:
140
},
{
title
:
"客户"
,
field
:
"khName"
,
width
:
140
},
{
title
:
"旺店通"
,
field
:
'zwdt'
,
width
:
140
},
{
title
:
"货单类型"
,
field
:
"vbtyp"
,
width
:
140
,
"transform"
:
{
"url"
:
"lxyl/ckgl/usofh/init/jhdType"
,
"label"
:
"name"
,
"value"
:
"id"
},
},
{
title
:
"过账状态"
,
field
:
"gzzt"
,
width
:
140
,
formatter
(
a
,
b
,
v
)
{
let
map
=
{
Y
:
'是'
,
N
:
'否'
}
return
map
[
v
]
}
},
{
title
:
"关闭人"
,
field
:
"gbrName"
,
width
:
140
},
{
title
:
"关闭时间"
,
field
:
"gbsj"
,
fieldType
:
"ftDateTime"
},
{
title
:
"备注"
,
field
:
"bz"
,
width
:
140
},
{
title
:
"创建时间"
,
field
:
"cjsj"
,
fieldType
:
'ftDateTime'
}
],
queryParams
:
[
[{
"label"
:
"客户"
,
"prop"
:
"khid"
,
"span"
:
5
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"typeConfig"
:
{
"src"
:
"jcsj/kh/query"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
"label"
:
"仓库"
,
"prop"
:
"ckid"
,
"span"
:
5
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"typeConfig"
:
{
"src"
:
"jcsj/common/ck/queryCkid"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
"label"
:
"工厂"
,
"prop"
:
"hzid"
,
"span"
:
5
,
"type"
:
"RelSelect"
,
"value"
:
""
,
"typeConfig"
:
{
"src"
:
"wms/jcsj/hz/query"
,
"match"
:
{
"value"
:
"id"
,
"label"
:
"name"
}
}
},
{
label
:
'物料信息'
,
prop
:
'wlxxInfo'
,
span
:
4
,
type
:
'input'
,
value
:
''
},
{
label
:
'销售订单'
,
prop
:
'soInfo'
,
span
:
4
,
type
:
'input'
,
value
:
''
}
]
],
/* 默认启停用 */
showqt
:
false
,
}
}
},
methods
:
{
ckbg
(
ctx
)
{
if
(
ctx
.
singleItem
&&
ctx
.
singleItem
.
id
)
{
ctx
.
DialogTitle
=
'仓库变更'
ctx
.
DialogWidth
=
'30vw'
ctx
.
showDialog
=
true
}
else
{
this
.
$warning
(
'请选中一条数据'
)
}
},
sfsap
(
ctx
)
{
let
list
=
ctx
.
$refs
.
TablePager
.
selectedList
||
[]
if
(
list
.
length
>
0
)
{
this
.
$confirm
(
'是否继续操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
res
=>
{
this
.
$post
(
'/lxyl/ckgl/usofh/ReleaseSapModifyPermission'
,
{
ids
:
list
.
map
(
item
=>
item
.
id
)
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
})
}
else
{
this
.
$warning
(
'请至少勾选一条数据'
)
}
},
gb
(
ctx
)
{
if
(
ctx
.
singleItem
&&
ctx
.
singleItem
.
id
)
{
this
.
$prompt
(
'请输入原因'
,
''
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
}).
then
(({
value
})
=>
{
if
(
value
)
{
this
.
$post
(
'lxyl/ckgl/usofh/close'
,
{
id
:
ctx
.
singleItem
.
id
,
gbyy
:
value
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
}
else
{
this
.
$warning
(
'请输入原因'
)
}
})
}
else
{
this
.
$warning
(
'请选中一条数据'
)
}
},
tbjhd
(
ctx
)
{
ctx
.
DialogTitle
=
'同步交货单'
ctx
.
DialogWidth
=
'30vw'
ctx
.
showDialog
=
true
// this.$confirm('是否继续操作, 是否继续?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(res => {
// this.$post('lxyl/ckgl/usofh/sync/xsjhd', {
// }).then(res => {
// if (res.success) {
// this.$success('操作成功')
// ctx.refresh()
// }
// })
// })
},
qr
(
ctx
)
{
let
list
=
ctx
.
$refs
.
TablePager
.
selectedList
||
[]
if
(
list
.
length
>
0
)
{
this
.
$confirm
(
'是否继续操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
res
=>
{
this
.
$post
(
'lxyl/ckgl/usofh/confirm'
,
{
ids
:
list
.
map
(
item
=>
item
.
id
)
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
})
}
else
{
this
.
$warning
(
'请至少勾选一条数据'
)
}
},
qxqr
(
ctx
)
{
let
list
=
ctx
.
$refs
.
TablePager
.
selectedList
||
[]
if
(
list
.
length
>
0
)
{
this
.
$confirm
(
'是否继续操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
res
=>
{
this
.
$post
(
'lxyl/ckgl/usofh/unconfirm'
,
{
ids
:
list
.
map
(
item
=>
item
.
id
)
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
})
}
else
{
this
.
$warning
(
'请至少勾选一条数据'
)
}
},
sapgz
(
ctx
)
{
let
list
=
ctx
.
$refs
.
TablePager
.
selectedList
||
[]
if
(
list
.
length
>
0
)
{
this
.
$confirm
(
'是否继续操作, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
res
=>
{
this
.
$post
(
'lxyl/ckgl/sto/usofh/sap/gz'
,
{
ids
:
list
.
map
(
item
=>
item
.
id
)
}).
then
(
res
=>
{
if
(
res
.
success
)
{
this
.
$success
(
'操作成功'
)
ctx
.
refresh
()
}
})
})
}
else
{
this
.
$warning
(
'请至少勾选一条数据'
)
}
}
/* 示例*/
// demo(basePage){
// }
},
components
:
{
Edit
,
Tbjhd
,
Ckbg
}
}
</
script
>
<
style
>
</
style
>
src/views/ccgl/jcsj/stoxsjhd/tbjhd.vue
0 → 100644
View file @
d6a1ad70
<
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
[
0
].
value
=
nowTime
this
.
loading
=
true
})
},
data
()
{
return
{
isLoading
:
false
,
text
:
'正在请求中...'
,
readonly
:
false
,
loading
:
false
,
editColItemList
:[
{
label
:
'时间'
,
prop
:
'time'
,
span
:
24
,
type
:
'datetime'
,
value
:
''
,
"required"
:
true
,
},
{
label
:
'单号'
,
prop
:
'ddh'
,
span
:
24
,
type
:
'input'
,
value
:
''
,
}
]
}
},
methods
:
{
save
(){
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
){
this
.
isLoading
=
true
this
.
$post
(
'lxyl/ckgl/usofh/sync/xsjhd'
,
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