@ -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 ="openSaleOrderOut EnableList" >
< el-button @click ="openSaleOrderReturn 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" >
< SaleOut ItemForm ref = "itemFormRef" :items = "formData.items" :disabled = "disabled" / >
< el-tab-pane label = "退货 产品清单" name = "item" >
< SaleReturn 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 >
<!-- 可出库 的订单列表 -- >
< SaleOrderOut EnableList ref = "saleOrderOut EnableListRef" @success ="handleSaleOrderChange" / >
<!-- 可退货 的订单列表 -- >
<!-- < SaleOrderReturn EnableList ref = "saleOrderReturn EnableListRef" @success ="handleSaleOrderChange" / > -- >
< / template >
< script setup lang = "ts" >
import { SaleOut Api , SaleOut VO } from '@/api/erp/sale/out '
import SaleOut ItemForm from './components/SaleOut ItemForm.vue'
import { SaleReturn Api , SaleReturn VO } from '@/api/erp/sale/return '
import SaleReturn ItemForm 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/SaleOrderOutEnableList.vue '
/ / i m p o r t S a l e O r d e r R e t u r n E n a b l e L i s t f r o m ' @ / v i e w s / e r p / s a l e / o r d e r / c o m p o n e n t s / S a l e O r d e r R e t u r n E n a b l e L i s t . v u e '
import { SaleOrderVO } from '@/api/erp/sale/order'
import * as UserApi from '@/api/system/user'
/** ERP 销售出库 表单 */
defineOptions ( { name : 'SaleOut Form' } )
/** ERP 销售退货 表单 */
defineOptions ( { name : 'SaleReturn 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' } ] ,
out Time: [ { required : true , message : '出库 时间不能为空' , trigger : 'blur' } ] ,
pay Price: [ { required : true , message : '本次收 款不能为空' , trigger : 'blur' } ]
return Time: [ { required : true , message : '退货 时间不能为空' , trigger : 'blur' } ] ,
refund Price: [ { required : true , message : '本次退 款不能为空' , trigger : 'blur' } ]
} )
const disabled = computed ( ( ) => formType . value === 'detail' )
const formRef = ref ( ) / / 表 单 R e f
@ -242,13 +242,13 @@ watch(
const discountPrice =
val . discountPercent != null ? erpPriceMultiply ( totalPrice , val . discountPercent / 100.0 ) : 0
/ / d e b u g g e r
/ / T O D O 芋 艿 : p a y P r i c e 自 动 计 算 会 有 问 题 , 界 面 上 看 到 修 改 了 , 传 递 到 后 端 还 是 没 改 过 来
/ / c o n s t p a y P r i c e = t o t a l P r i c e - d i s c o u n t P r i c e + v a l . o t h e r P r i c e
/ / T O D O 芋 艿 : r e f u n d P r i c e 自 动 计 算 会 有 问 题 , 界 面 上 看 到 修 改 了 , 传 递 到 后 端 还 是 没 改 过 来
/ / c o n s t r e f u n d P r i c e = t o t a l P r i c e - d i s c o u n t P r i c e + v a l . o t h e r P r i c e
/ / 赋 值
formData . value . discountPrice = discountPrice
formData . value . totalPrice = totalPrice - discountPrice
/ / v a l . p a y P r i c e = p a y P r i c e
/ / f o r m D a t a . v a l u e . p a y P r i c e = p a y P r i c e
/ / v a l . r e f u n d P r i c e = r e f u n d P r i c e
/ / f o r m D a t a . v a l u e . r e f u n d P r i c e = r e f u n d P r i c e
} ,
{ deep : true }
)
@ -263,7 +263,7 @@ const open = async (type: string, id?: number) => {
if ( id ) {
formLoading . value = true
try {
formData . value = await SaleOut Api . getSaleOut ( id )
formData . value = await SaleReturn Api . getSaleReturn ( id )
} finally {
formLoading . value = false
}
@ -281,14 +281,14 @@ const open = async (type: string, id?: number) => {
}
defineExpose ( { open } ) / / 提 供 o p e n 方 法 , 用 于 打 开 弹 窗
/** 打开【可出库 的订单列表】弹窗 */
const saleOrderOut EnableListRef = ref ( ) / / 可 出 库 的 订 单 列 表 R e f
const openSaleOrderOut EnableList = ( ) => {
saleOrderOut EnableListRef . value . open ( )
/** 打开【可退货 的订单列表】弹窗 */
const saleOrderReturn EnableListRef = ref ( ) / / 可 退 货 的 订 单 列 表 R e f
const openSaleOrderReturn EnableList = ( ) => {
saleOrderReturn 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 SaleOut VO
const data = formData . value as unknown as SaleReturn VO
if ( formType . value === 'create' ) {
await SaleOut Api . createSaleOut ( data )
await SaleReturn Api . createSaleReturn ( data )
message . success ( t ( 'common.createSuccess' ) )
} else {
await SaleOut Api . updateSaleOut ( data )
await SaleReturn Api . 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 ( )