Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
3860aaef
authored
Feb 12, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
ERP:初始化销售退货逻辑 70%(详情)
parent
949096f7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
41 additions
and
44 deletions
+41
-44
src/views/erp/sale/order/components/SaleOrderItemForm.vue
+0
-1
src/views/erp/sale/out/components/SaleOutItemForm.vue
+0
-1
src/views/erp/sale/return/SaleReturnForm.vue
+40
-40
src/views/erp/sale/return/components/SaleReturnItemForm.vue
+0
-1
src/views/erp/sale/return/index.vue
+1
-1
No files found.
src/views/erp/sale/order/components/SaleOrderItemForm.vue
View file @
3860aaef
...
...
@@ -152,7 +152,6 @@ const props = defineProps<{
const
formLoading
=
ref
(
false
)
// 表单的加载中
const
formData
=
ref
([])
const
formRules
=
reactive
({
inId
:
[{
required
:
true
,
message
:
'出库编号不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
})
...
...
src/views/erp/sale/out/components/SaleOutItemForm.vue
View file @
3860aaef
...
...
@@ -186,7 +186,6 @@ const props = defineProps<{
const
formLoading
=
ref
(
false
)
// 表单的加载中
const
formData
=
ref
([])
const
formRules
=
reactive
({
inId
:
[{
required
:
true
,
message
:
'出库编号不能为空'
,
trigger
:
'blur'
}],
warehouseId
:
[{
required
:
true
,
message
:
'仓库不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
...
...
src/views/erp/sale/return/Sale
Out
Form.vue
→
src/views/erp/sale/return/Sale
Return
Form.vue
View file @
3860aaef
...
...
@@ -10,17 +10,17 @@
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"
出库
单号"
prop=
"no"
>
<el-form-item
label=
"
退货
单号"
prop=
"no"
>
<el-input
disabled
v-model=
"formData.no"
placeholder=
"保存时自动生成"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
出库
时间"
prop=
"outTime"
>
<el-form-item
label=
"
退货
时间"
prop=
"outTime"
>
<el-date-picker
v-model=
"formData.
out
Time"
v-model=
"formData.
return
Time"
type=
"date"
value-format=
"x"
placeholder=
"选择
出库
时间"
placeholder=
"选择
退货
时间"
class=
"!w-1/1"
/>
</el-form-item>
...
...
@@ -29,7 +29,7 @@
<el-form-item
label=
"关联订单"
prop=
"orderNo"
>
<el-input
v-model=
"formData.orderNo"
readonly
>
<template
#
append
>
<el-button
@
click=
"openSaleOrder
Out
EnableList"
>
<el-button
@
click=
"openSaleOrder
Return
EnableList"
>
<Icon
icon=
"ep:search"
/>
选择
</el-button>
</
template
>
...
...
@@ -91,8 +91,8 @@
<!-- 子表的表单 -->
<ContentWrap>
<el-tabs
v-model=
"subTabsName"
class=
"-mt-15px -mb-10px"
>
<el-tab-pane
label=
"
出库
产品清单"
name=
"item"
>
<Sale
Out
ItemForm
ref=
"itemFormRef"
:items=
"formData.items"
:disabled=
"disabled"
/>
<el-tab-pane
label=
"
退货
产品清单"
name=
"item"
>
<Sale
Return
ItemForm
ref=
"itemFormRef"
:items=
"formData.items"
:disabled=
"disabled"
/>
</el-tab-pane>
</el-tabs>
</ContentWrap>
...
...
@@ -110,7 +110,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"
收
款优惠"
prop=
"discountPrice"
>
<el-form-item
label=
"
退
款优惠"
prop=
"discountPrice"
>
<el-input
disabled
v-model=
"formData.discountPrice"
...
...
@@ -154,13 +154,13 @@
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"本次
收款"
prop=
"pay
Price"
>
<el-form-item
label=
"本次
退款"
prop=
"refund
Price"
>
<el-input-number
v-model=
"formData.
pay
Price"
v-model=
"formData.
refund
Price"
controls-position=
"right"
:min=
"0"
:precision=
"2"
placeholder=
"请输入本次
收
款"
placeholder=
"请输入本次
退
款"
class=
"!w-1/1"
/>
</el-form-item>
...
...
@@ -175,21 +175,21 @@
</
template
>
</Dialog>
<!-- 可
出库
的订单列表 -->
<
SaleOrderOutEnableList
ref=
"saleOrderOutEnableListRef"
@
success=
"handleSaleOrderChange"
/
>
<!-- 可
退货
的订单列表 -->
<
!-- <SaleOrderReturnEnableList ref="saleOrderReturnEnableListRef" @success="handleSaleOrderChange" />--
>
</template>
<
script
setup
lang=
"ts"
>
import
{
Sale
OutApi
,
SaleOutVO
}
from
'@/api/erp/sale/out
'
import
Sale
OutItemForm
from
'./components/SaleOut
ItemForm.vue'
import
{
Sale
ReturnApi
,
SaleReturnVO
}
from
'@/api/erp/sale/return
'
import
Sale
ReturnItemForm
from
'./components/SaleReturn
ItemForm.vue'
import
{
CustomerApi
,
CustomerVO
}
from
'@/api/erp/sale/customer'
import
{
AccountApi
,
AccountVO
}
from
'@/api/erp/finance/account'
import
{
erpPriceInputFormatter
,
erpPriceMultiply
}
from
'@/utils'
import
SaleOrderOutEnableList
from
'@/views/erp/sale/order/components/SaleOrderOut
EnableList.vue'
// import SaleOrderReturnEnableList from '@/views/erp/sale/order/components/SaleOrderReturn
EnableList.vue'
import
{
SaleOrderVO
}
from
'@/api/erp/sale/order'
import
*
as
UserApi
from
'@/api/system/user'
/** ERP 销售
出库
表单 */
defineOptions
({
name
:
'Sale
Out
Form'
})
/** ERP 销售
退货
表单 */
defineOptions
({
name
:
'Sale
Return
Form'
})
const
{
t
}
=
useI18n
()
// 国际化
const
message
=
useMessage
()
// 消息弹窗
...
...
@@ -203,22 +203,22 @@ const formData = ref({
customerId
:
undefined
,
accountId
:
undefined
,
saleUserId
:
undefined
,
out
Time
:
undefined
,
return
Time
:
undefined
,
remark
:
undefined
,
fileUrl
:
''
,
discountPercent
:
0
,
discountPrice
:
0
,
totalPrice
:
0
,
otherPrice
:
0
,
pay
Price
:
undefined
,
refund
Price
:
undefined
,
orderNo
:
undefined
,
items
:
[],
no
:
undefined
//
出库
单号,后端返回
no
:
undefined
//
退货
单号,后端返回
})
const
formRules
=
reactive
({
customerId
:
[{
required
:
true
,
message
:
'客户不能为空'
,
trigger
:
'blur'
}],
outTime
:
[{
required
:
true
,
message
:
'出库
时间不能为空'
,
trigger
:
'blur'
}],
payPrice
:
[{
required
:
true
,
message
:
'本次收
款不能为空'
,
trigger
:
'blur'
}]
returnTime
:
[{
required
:
true
,
message
:
'退货
时间不能为空'
,
trigger
:
'blur'
}],
refundPrice
:
[{
required
:
true
,
message
:
'本次退
款不能为空'
,
trigger
:
'blur'
}]
})
const
disabled
=
computed
(()
=>
formType
.
value
===
'detail'
)
const
formRef
=
ref
()
// 表单 Ref
...
...
@@ -242,13 +242,13 @@ watch(
const
discountPrice
=
val
.
discountPercent
!=
null
?
erpPriceMultiply
(
totalPrice
,
val
.
discountPercent
/
100.0
)
:
0
// debugger
// TODO 芋艿:
pay
Price 自动计算会有问题,界面上看到修改了,传递到后端还是没改过来
// const
pay
Price = totalPrice - discountPrice + val.otherPrice
// TODO 芋艿:
refund
Price 自动计算会有问题,界面上看到修改了,传递到后端还是没改过来
// const
refund
Price = totalPrice - discountPrice + val.otherPrice
// 赋值
formData
.
value
.
discountPrice
=
discountPrice
formData
.
value
.
totalPrice
=
totalPrice
-
discountPrice
// val.
payPrice = pay
Price
// formData.value.
payPrice = pay
Price
// val.
refundPrice = refund
Price
// formData.value.
refundPrice = refund
Price
},
{
deep
:
true
}
)
...
...
@@ -263,7 +263,7 @@ const open = async (type: string, id?: number) => {
if
(
id
)
{
formLoading
.
value
=
true
try
{
formData
.
value
=
await
Sale
OutApi
.
getSaleOut
(
id
)
formData
.
value
=
await
Sale
ReturnApi
.
getSaleReturn
(
id
)
}
finally
{
formLoading
.
value
=
false
}
...
...
@@ -281,14 +281,14 @@ const open = async (type: string, id?: number) => {
}
defineExpose
({
open
})
// 提供 open 方法,用于打开弹窗
/** 打开【可
出库
的订单列表】弹窗 */
const
saleOrder
OutEnableListRef
=
ref
()
// 可出库
的订单列表 Ref
const
openSaleOrder
Out
EnableList
=
()
=>
{
saleOrder
Out
EnableListRef
.
value
.
open
()
/** 打开【可
退货
的订单列表】弹窗 */
const
saleOrder
ReturnEnableListRef
=
ref
()
// 可退货
的订单列表 Ref
const
openSaleOrder
Return
EnableList
=
()
=>
{
saleOrder
Return
EnableListRef
.
value
.
open
()
}
const
handleSaleOrderChange
=
(
order
:
SaleOrderVO
)
=>
{
// 将订单设置到
出库
单
// 将订单设置到
退货
单
formData
.
value
.
orderId
=
order
.
id
formData
.
value
.
orderNo
=
order
.
no
formData
.
value
.
customerId
=
order
.
customerId
...
...
@@ -297,10 +297,10 @@ const handleSaleOrderChange = (order: SaleOrderVO) => {
formData
.
value
.
discountPercent
=
order
.
discountPercent
formData
.
value
.
remark
=
order
.
remark
formData
.
value
.
fileUrl
=
order
.
fileUrl
// 将订单项设置到
出库
单项
// 将订单项设置到
退货
单项
order
.
items
.
forEach
((
item
)
=>
{
item
.
totalCount
=
item
.
count
item
.
count
=
item
.
totalCount
-
item
.
out
Count
item
.
count
=
item
.
totalCount
-
item
.
return
Count
item
.
orderItemId
=
item
.
id
item
.
id
=
undefined
})
...
...
@@ -316,12 +316,12 @@ const submitForm = async () => {
// 提交请求
formLoading
.
value
=
true
try
{
const
data
=
formData
.
value
as
unknown
as
Sale
Out
VO
const
data
=
formData
.
value
as
unknown
as
Sale
Return
VO
if
(
formType
.
value
===
'create'
)
{
await
Sale
OutApi
.
createSaleOut
(
data
)
await
Sale
ReturnApi
.
createSaleReturn
(
data
)
message
.
success
(
t
(
'common.createSuccess'
))
}
else
{
await
Sale
OutApi
.
updateSaleOut
(
data
)
await
Sale
ReturnApi
.
updateSaleReturn
(
data
)
message
.
success
(
t
(
'common.updateSuccess'
))
}
dialogVisible
.
value
=
false
...
...
@@ -339,14 +339,14 @@ const resetForm = () => {
customerId
:
undefined
,
accountId
:
undefined
,
saleUserId
:
undefined
,
out
Time
:
undefined
,
return
Time
:
undefined
,
remark
:
undefined
,
fileUrl
:
undefined
,
discountPercent
:
0
,
discountPrice
:
0
,
totalPrice
:
0
,
otherPrice
:
0
,
pay
Price
:
undefined
,
refund
Price
:
undefined
,
items
:
[]
}
formRef
.
value
?.
resetFields
()
...
...
src/views/erp/sale/return/components/Sale
Out
ItemForm.vue
→
src/views/erp/sale/return/components/Sale
Return
ItemForm.vue
View file @
3860aaef
...
...
@@ -186,7 +186,6 @@ const props = defineProps<{
const
formLoading
=
ref
(
false
)
// 表单的加载中
const
formData
=
ref
([])
const
formRules
=
reactive
({
inId
:
[{
required
:
true
,
message
:
'出库编号不能为空'
,
trigger
:
'blur'
}],
warehouseId
:
[{
required
:
true
,
message
:
'仓库不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
...
...
src/views/erp/sale/return/index.vue
View file @
3860aaef
...
...
@@ -287,7 +287,7 @@
</ContentWrap>
<!-- 表单弹窗:添加/修改 -->
<Sale
Out
Form
ref=
"formRef"
@
success=
"getList"
/>
<Sale
Return
Form
ref=
"formRef"
@
success=
"getList"
/>
</template>
<
script
setup
lang=
"ts"
>
...
...
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