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