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
ab63660b
authored
Feb 10, 2024
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
ERP:增加 ERP 销售订单的实现 50%(详情)
新年快乐~
parent
2615054f
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
94 additions
and
119 deletions
+94
-119
src/api/erp/product/product/index.ts
+3
-2
src/api/erp/stock/stock/index.ts
+5
-0
src/api/erp/stock/warehouse/index.ts
+2
-2
src/views/erp/sale/order/SaleOrderForm.vue
+9
-8
src/views/erp/sale/order/components/SaleOrderItemForm.vue
+60
-56
src/views/erp/sale/order/index.vue
+3
-3
src/views/erp/stock/check/components/StockCheckItemForm.vue
+3
-12
src/views/erp/stock/in/components/StockInItemForm.vue
+3
-12
src/views/erp/stock/move/components/StockMoveItemForm.vue
+3
-12
src/views/erp/stock/out/components/StockOutItemForm.vue
+3
-12
No files found.
src/api/erp/product/product/index.ts
View file @
ab63660b
...
...
@@ -7,6 +7,7 @@ export interface ProductVO {
barCode
:
string
// 产品条码
categoryId
:
number
// 产品类型编号
unitId
:
number
// 单位编号
unitName
?:
string
// 单位名字
status
:
number
// 产品状态
standard
:
string
// 产品规格
remark
:
string
// 产品备注
...
...
@@ -25,8 +26,8 @@ export const ProductApi = {
},
// 查询产品精简列表
getProductSimpleList
:
async
(
params
:
any
)
=>
{
return
await
request
.
get
({
url
:
`/erp/product/simple-list`
,
params
})
getProductSimpleList
:
async
()
=>
{
return
await
request
.
get
({
url
:
`/erp/product/simple-list`
})
},
// 查询产品详情
...
...
src/api/erp/stock/stock/index.ts
View file @
ab63660b
...
...
@@ -29,6 +29,11 @@ export const StockApi = {
return
await
request
.
get
({
url
:
`/erp/stock/get`
,
params
:
{
productId
,
warehouseId
}
})
},
// 获得产品库存数量
getStockCount
:
async
(
productId
:
number
)
=>
{
return
await
request
.
get
({
url
:
`/erp/stock/get-count`
,
params
:
{
productId
}
})
},
// 导出产品库存 Excel
exportStock
:
async
(
params
)
=>
{
return
await
request
.
download
({
url
:
`/erp/stock/export-excel`
,
params
})
...
...
src/api/erp/stock/warehouse/index.ts
View file @
ab63660b
...
...
@@ -22,8 +22,8 @@ export const WarehouseApi = {
},
// 查询仓库精简列表
getWarehouseSimpleList
:
async
(
params
:
any
)
=>
{
return
await
request
.
get
({
url
:
`/erp/warehouse/simple-list`
,
params
})
getWarehouseSimpleList
:
async
()
=>
{
return
await
request
.
get
({
url
:
`/erp/warehouse/simple-list`
})
},
// 查询仓库详情
...
...
src/views/erp/sale/order/SaleOrderForm.vue
View file @
ab63660b
...
...
@@ -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.o
ut
Time"
v-model=
"formData.o
rder
Time"
type=
"date"
value-format=
"x"
placeholder=
"选择
出库
时间"
placeholder=
"选择
订单
时间"
class=
"!w-1/1"
/>
</el-form-item>
...
...
@@ -62,7 +62,7 @@
<!-- 子表的表单 -->
<ContentWrap>
<el-tabs
v-model=
"subTabsName"
class=
"-mt-15px -mb-10px"
>
<el-tab-pane
label=
"
出库
产品清单"
name=
"item"
>
<el-tab-pane
label=
"
订单
产品清单"
name=
"item"
>
<SaleOrderItemForm
ref=
"itemFormRef"
:items=
"formData.items"
:disabled=
"disabled"
/>
</el-tab-pane>
</el-tabs>
...
...
@@ -80,7 +80,7 @@ import { SaleOrderApi, SaleOrderVO } from '@/api/erp/sale/order'
import
SaleOrderItemForm
from
'./components/SaleOrderItemForm.vue'
import
{
CustomerApi
,
CustomerVO
}
from
'@/api/erp/sale/customer'
/** ERP
其它出库
单表单 */
/** ERP
销售订
单表单 */
defineOptions
({
name
:
'SaleOrderForm'
})
const
{
t
}
=
useI18n
()
// 国际化
...
...
@@ -96,10 +96,11 @@ const formData = ref({
orderTime
:
undefined
,
remark
:
undefined
,
fileUrl
:
''
,
items
:
[]
items
:
[],
no
:
undefined
// 订单单号,后端返回
})
const
formRules
=
reactive
({
orderTime
:
[{
required
:
true
,
message
:
'
出库
时间不能为空'
,
trigger
:
'blur'
}]
orderTime
:
[{
required
:
true
,
message
:
'
订单
时间不能为空'
,
trigger
:
'blur'
}]
})
const
disabled
=
computed
(()
=>
formType
.
value
===
'detail'
)
const
formRef
=
ref
()
// 表单 Ref
...
...
src/views/erp/sale/order/components/SaleOrderItemForm.vue
View file @
ab63660b
...
...
@@ -10,29 +10,6 @@
>
<el-table
:data=
"formData"
show-summary
:summary-method=
"getSummaries"
class=
"-mt-10px"
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"60"
/>
<el-table-column
label=
"仓库名称"
min-width=
"125"
>
<template
#
default=
"
{ row, $index }">
<el-form-item
:prop=
"`$
{$index}.warehouseId`"
:rules="formRules.warehouseId"
class="mb-0px!"
>
<el-select
v-model=
"row.warehouseId"
filterable
placeholder=
"请选择仓库"
@
change=
"onChangeWarehouse($event, row)"
>
<el-option
v-for=
"item in warehouseList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
/>
</el-select>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"产品名称"
min-width=
"180"
>
<template
#
default=
"
{ row, $index }">
<el-form-item
:prop=
"`$
{$index}.productId`" :rules="formRules.productId" class="mb-0px!">
...
...
@@ -88,11 +65,7 @@
</el-table-column>
<el-table-column
label=
"产品单价"
fixed=
"right"
min-width=
"120"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`"
:rules="formRules.productPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`" class="mb-0px!">
<el-input-number
v-model=
"row.productPrice"
controls-position=
"right"
...
...
@@ -103,20 +76,55 @@
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"合计金额"
prop=
"totalPrice"
fixed=
"right"
min-width=
"100"
>
<el-table-column
label=
"金额"
prop=
"totalProductPrice"
fixed=
"right"
min-width=
"100"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalProductPrice`" class="mb-0px!">
<el-input
disabled
v-model=
"row.totalProductPrice"
:formatter=
"erpPriceInputFormatter"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"税率(%)"
fixed=
"right"
min-width=
"115"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.taxPercent`" class="mb-0px!">
<el-input-number
v-model=
"row.taxPercent"
controls-position=
"right"
:min=
"0.01"
:precision=
"2"
class=
"!w-100%"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"税额"
prop=
"taxPrice"
fixed=
"right"
min-width=
"120"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`"
:rules="formRules.totalPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.taxPrice`" class="mb-0px!">
<el-form-item
:prop=
"`$
{$index}.taxPrice`" class="mb-0px!">
<el-input-number
v-model=
"row.taxPrice"
controls-position=
"right"
:min=
"0.01"
:precision=
"2"
class=
"!w-100%"
/>
</el-form-item>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"税额合计"
prop=
"totalPrice"
fixed=
"right"
min-width=
"100"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`" class="mb-0px!">
<el-input
disabled
v-model=
"row.totalPrice"
:formatter=
"erpPriceInputFormatter"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
min-width=
"150"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.remark`"
:rules="formRules.remark"
class="mb-0px!">
<el-form-item
:prop=
"`$
{$index}.remark`" class="mb-0px!">
<el-input
v-model=
"row.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
</
template
>
...
...
@@ -134,7 +142,6 @@
</template>
<
script
setup
lang=
"ts"
>
import
{
ProductApi
,
ProductVO
}
from
'@/api/erp/product/product'
import
{
WarehouseApi
,
WarehouseVO
}
from
'@/api/erp/stock/warehouse'
import
{
StockApi
}
from
'@/api/erp/stock/stock'
import
{
erpCountInputFormatter
,
...
...
@@ -153,13 +160,10 @@ const formRules = reactive({
inId
:
[{
required
:
true
,
message
:
'出库编号不能为空'
,
trigger
:
'blur'
}],
warehouseId
:
[{
required
:
true
,
message
:
'仓库不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
})
const
formRef
=
ref
([])
// 表单 Ref
const
productList
=
ref
<
ProductVO
[]
>
([])
// 产品列表
const
warehouseList
=
ref
<
WarehouseVO
[]
>
([])
// 仓库列表
const
defaultWarehouse
=
ref
<
WarehouseVO
>
(
undefined
)
// 默认仓库
/** 初始化设置出库项 */
watch
(
...
...
@@ -179,7 +183,13 @@ watch(
}
// 循环处理
val
.
forEach
((
item
)
=>
{
item
.
totalPrice
=
erpPriceMultiply
(
item
.
productPrice
,
item
.
count
)
item
.
totalProductPrice
=
erpPriceMultiply
(
item
.
productPrice
,
item
.
count
)
item
.
taxPrice
=
erpPriceMultiply
(
item
.
totalProductPrice
,
item
.
taxPercent
/
100.0
)
if
(
item
.
totalProductPrice
!=
null
)
{
item
.
totalPrice
=
item
.
totalProductPrice
+
(
item
.
taxPrice
||
0
)
}
else
{
item
.
totalPrice
=
undefined
}
})
},
{
deep
:
true
}
...
...
@@ -189,12 +199,12 @@ watch(
const
getSummaries
=
(
param
:
SummaryMethodProps
)
=>
{
const
{
columns
,
data
}
=
param
const
sums
:
string
[]
=
[]
columns
.
forEach
((
column
,
index
)
=>
{
columns
.
forEach
((
column
,
index
:
number
)
=>
{
if
(
index
===
0
)
{
sums
[
index
]
=
'合计'
return
}
if
([
'count'
,
'totalPrice'
].
includes
(
column
.
property
))
{
if
([
'count'
,
'totalPr
oductPrice'
,
'taxPrice'
,
'totalPr
ice'
].
includes
(
column
.
property
))
{
const
sum
=
getSumValue
(
data
.
map
((
item
)
=>
Number
(
item
[
column
.
property
])))
sums
[
index
]
=
column
.
property
===
'count'
?
erpCountInputFormatter
(
sum
)
:
erpPriceInputFormatter
(
sum
)
...
...
@@ -210,13 +220,15 @@ const getSummaries = (param: SummaryMethodProps) => {
const
handleAdd
=
()
=>
{
const
row
=
{
id
:
undefined
,
warehouseId
:
defaultWarehouse
.
value
?.
id
,
productId
:
undefined
,
productUnitName
:
undefined
,
// 产品单位
productBarCode
:
undefined
,
// 产品条码
productPrice
:
undefined
,
stockCount
:
undefined
,
count
:
1
,
totalProductPrice
:
undefined
,
taxPercent
:
undefined
,
taxPrice
:
undefined
,
totalPrice
:
undefined
,
remark
:
undefined
}
...
...
@@ -224,16 +236,10 @@ const handleAdd = () => {
}
/** 删除按钮操作 */
const
handleDelete
=
(
index
)
=>
{
const
handleDelete
=
(
index
:
number
)
=>
{
formData
.
value
.
splice
(
index
,
1
)
}
/** 处理仓库变更 */
const
onChangeWarehouse
=
(
warehouseId
,
row
)
=>
{
// 加载库存
setStockCount
(
row
)
}
/** 处理产品变更 */
const
onChangeProduct
=
(
productId
,
row
)
=>
{
const
product
=
productList
.
value
.
find
((
item
)
=>
item
.
id
===
productId
)
...
...
@@ -247,12 +253,12 @@ const onChangeProduct = (productId, row) => {
}
/** 加载库存 */
const
setStockCount
=
async
(
row
)
=>
{
if
(
!
row
.
productId
||
!
row
.
warehouseId
)
{
const
setStockCount
=
async
(
row
:
any
)
=>
{
if
(
!
row
.
productId
)
{
return
}
const
stock
=
await
StockApi
.
getStock2
(
row
.
productId
,
row
.
warehouse
Id
)
row
.
stockCount
=
stock
?
stock
.
count
:
0
const
count
=
await
StockApi
.
getStockCount
(
row
.
product
Id
)
row
.
stockCount
=
count
||
0
}
/** 表单校验 */
...
...
@@ -264,8 +270,6 @@ defineExpose({ validate })
/** 初始化 */
onMounted
(
async
()
=>
{
productList
.
value
=
await
ProductApi
.
getProductSimpleList
()
warehouseList
.
value
=
await
WarehouseApi
.
getWarehouseSimpleList
()
defaultWarehouse
.
value
=
warehouseList
.
value
.
find
((
item
)
=>
item
.
defaultStatus
)
// 默认添加一个
if
(
formData
.
value
.
length
===
0
)
{
handleAdd
()
...
...
src/views/erp/sale/order/index.vue
View file @
ab63660b
...
...
@@ -284,7 +284,7 @@ import * as UserApi from '@/api/system/user'
import
{
erpCountTableColumnFormatter
,
erpPriceTableColumnFormatter
}
from
'@/utils'
import
{
CustomerApi
,
CustomerVO
}
from
'@/api/erp/sale/customer'
/** ERP
其它订单
单列表 */
/** ERP
销售订
单列表 */
defineOptions
({
name
:
'ErpSaleOrder'
})
const
message
=
useMessage
()
// 消息弹窗
...
...
@@ -359,7 +359,7 @@ const handleDelete = async (ids: number[]) => {
const
handleUpdateStatus
=
async
(
id
:
number
,
status
:
number
)
=>
{
try
{
// 审批的二次确认
await
message
.
confirm
(
`确定
${
status
===
20
?
'审批'
:
'反审批'
}
该订单
单
吗?`
)
await
message
.
confirm
(
`确定
${
status
===
20
?
'审批'
:
'反审批'
}
该订单吗?`
)
// 发起审批
await
SaleOrderApi
.
updateSaleOrderStatus
(
id
,
status
)
message
.
success
(
`
${
status
===
20
?
'审批'
:
'反审批'
}
成功`
)
...
...
@@ -376,7 +376,7 @@ const handleExport = async () => {
// 发起导出
exportLoading
.
value
=
true
const
data
=
await
SaleOrderApi
.
exportSaleOrder
(
queryParams
)
download
.
excel
(
data
,
'
其它订单
单.xls'
)
download
.
excel
(
data
,
'
销售订
单.xls'
)
}
catch
{
}
finally
{
exportLoading
.
value
=
false
...
...
src/views/erp/stock/check/components/StockCheckItemForm.vue
View file @
ab63660b
...
...
@@ -103,11 +103,7 @@
</el-table-column>
<el-table-column
label=
"产品单价"
fixed=
"right"
min-width=
"120"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`"
:rules="formRules.productPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`" class="mb-0px!">
<el-input-number
v-model=
"row.productPrice"
controls-position=
"right"
...
...
@@ -120,18 +116,14 @@
</el-table-column>
<el-table-column
label=
"合计金额"
prop=
"totalPrice"
fixed=
"right"
min-width=
"100"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`"
:rules="formRules.totalPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`" class="mb-0px!">
<el-input
disabled
v-model=
"row.totalPrice"
:formatter=
"erpPriceInputFormatter"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
min-width=
"150"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.remark`"
:rules="formRules.remark"
class="mb-0px!">
<el-form-item
:prop=
"`$
{$index}.remark`" class="mb-0px!">
<el-input
v-model=
"row.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
</
template
>
...
...
@@ -168,7 +160,6 @@ const formRules = reactive({
inId
:
[{
required
:
true
,
message
:
'盘点编号不能为空'
,
trigger
:
'blur'
}],
warehouseId
:
[{
required
:
true
,
message
:
'仓库名字不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
})
const
formRef
=
ref
([])
// 表单 Ref
...
...
src/views/erp/stock/in/components/StockInItemForm.vue
View file @
ab63660b
...
...
@@ -88,11 +88,7 @@
</el-table-column>
<el-table-column
label=
"产品单价"
fixed=
"right"
min-width=
"120"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`"
:rules="formRules.productPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`" class="mb-0px!">
<el-input-number
v-model=
"row.productPrice"
controls-position=
"right"
...
...
@@ -105,18 +101,14 @@
</el-table-column>
<el-table-column
label=
"合计金额"
prop=
"totalPrice"
fixed=
"right"
min-width=
"100"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`"
:rules="formRules.totalPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`" class="mb-0px!">
<el-input
disabled
v-model=
"row.totalPrice"
:formatter=
"erpPriceInputFormatter"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
min-width=
"150"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.remark`"
:rules="formRules.remark"
class="mb-0px!">
<el-form-item
:prop=
"`$
{$index}.remark`" class="mb-0px!">
<el-input
v-model=
"row.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
</
template
>
...
...
@@ -153,7 +145,6 @@ const formRules = reactive({
inId
:
[{
required
:
true
,
message
:
'入库编号不能为空'
,
trigger
:
'blur'
}],
warehouseId
:
[{
required
:
true
,
message
:
'仓库不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
})
const
formRef
=
ref
([])
// 表单 Ref
...
...
src/views/erp/stock/move/components/StockMoveItemForm.vue
View file @
ab63660b
...
...
@@ -106,11 +106,7 @@
</el-table-column>
<el-table-column
label=
"产品单价"
fixed=
"right"
min-width=
"120"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`"
:rules="formRules.productPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`" class="mb-0px!">
<el-input-number
v-model=
"row.productPrice"
controls-position=
"right"
...
...
@@ -123,18 +119,14 @@
</el-table-column>
<el-table-column
label=
"合计金额"
prop=
"totalPrice"
fixed=
"right"
min-width=
"100"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`"
:rules="formRules.totalPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`" class="mb-0px!">
<el-input
disabled
v-model=
"row.totalPrice"
:formatter=
"erpPriceInputFormatter"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
min-width=
"150"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.remark`"
:rules="formRules.remark"
class="mb-0px!">
<el-form-item
:prop=
"`$
{$index}.remark`" class="mb-0px!">
<el-input
v-model=
"row.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
</
template
>
...
...
@@ -172,7 +164,6 @@ const formRules = reactive({
fromWarehouseId
:
[{
required
:
true
,
message
:
'调出仓库不能为空'
,
trigger
:
'blur'
}],
toWarehouseId
:
[{
required
:
true
,
message
:
'调入仓库不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
})
const
formRef
=
ref
([])
// 表单 Ref
...
...
src/views/erp/stock/out/components/StockOutItemForm.vue
View file @
ab63660b
...
...
@@ -88,11 +88,7 @@
</el-table-column>
<el-table-column
label=
"产品单价"
fixed=
"right"
min-width=
"120"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`"
:rules="formRules.productPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.productPrice`" class="mb-0px!">
<el-input-number
v-model=
"row.productPrice"
controls-position=
"right"
...
...
@@ -105,18 +101,14 @@
</el-table-column>
<el-table-column
label=
"合计金额"
prop=
"totalPrice"
fixed=
"right"
min-width=
"100"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`"
:rules="formRules.totalPrice"
class="mb-0px!"
>
<el-form-item
:prop=
"`$
{$index}.totalPrice`" class="mb-0px!">
<el-input
disabled
v-model=
"row.totalPrice"
:formatter=
"erpPriceInputFormatter"
/>
</el-form-item>
</
template
>
</el-table-column>
<el-table-column
label=
"备注"
min-width=
"150"
>
<
template
#
default=
"{ row, $index }"
>
<el-form-item
:prop=
"`$
{$index}.remark`"
:rules="formRules.remark"
class="mb-0px!">
<el-form-item
:prop=
"`$
{$index}.remark`" class="mb-0px!">
<el-input
v-model=
"row.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
</
template
>
...
...
@@ -153,7 +145,6 @@ const formRules = reactive({
inId
:
[{
required
:
true
,
message
:
'出库编号不能为空'
,
trigger
:
'blur'
}],
warehouseId
:
[{
required
:
true
,
message
:
'仓库不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
productId
:
[{
required
:
true
,
message
:
'产品不能为空'
,
trigger
:
'blur'
}],
count
:
[{
required
:
true
,
message
:
'产品数量不能为空'
,
trigger
:
'blur'
}]
})
const
formRef
=
ref
([])
// 表单 Ref
...
...
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