Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
factory_front
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
qinjianhui
factory_front
Commits
3ba91595
Commit
3ba91595
authored
Apr 09, 2026
by
qinjianhui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 排单选择排版宽度修改
parent
82b25374
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
55 deletions
+87
-55
src/components/RenderColumn.vue
+35
-32
src/types/table.d.ts
+2
-0
src/views/order/factoryOrderNew/component/ArrangeDialog.vue
+2
-9
src/views/order/factoryOrderNew/index.vue
+48
-14
No files found.
src/components/RenderColumn.vue
View file @
3ba91595
...
@@ -32,39 +32,42 @@
...
@@ -32,39 +32,42 @@
</
template
>
</
template
>
</ElTableColumn>
</ElTableColumn>
</template>
</template>
<ElTableColumn
v-else
header-align=
"center"
v-bind=
"col"
>
<
template
v-else
>
<
template
#
header=
"{ column, $index }"
>
<ElTableColumn
<component
v-if=
"col.showColumn !== false"
:is=
"() => col.headerRender(column, $index)"
header-align=
"center"
v-if=
"col.headerRender"
v-bind=
"col"
/>
>
<slot
<template
#
header=
"
{ column, $index }">
v-else-if=
"col.headerSlot"
<component
:name=
"col.headerSlot"
:is=
"() => col.headerRender(column, $index)"
:column=
"column"
v-if=
"col.headerRender"
:index=
"$index"
/>
></slot>
<slot
<span
v-else
>
{{
column
.
label
}}
</span>
v-else-if=
"col.headerSlot"
</
template
>
:name=
"col.headerSlot"
<
template
#
default=
"{ row, $index }"
>
:column=
"column"
<template
v-if=
"col.formatDate"
>
:index=
"$index"
<span>
{{
col
.
formatDate
(
row
)
}}
</span>
></slot>
<span
v-else
>
{{
column
.
label
}}
</span>
</
template
>
</
template
>
<!-- 如果传递按钮数组,就展示按钮组 END-->
<
template
#
default=
"{ row, $index }"
>
<!-- render函数 (START) 使用内置的component组件可以支持h函数渲染和txs语法-->
<template
v-if=
"col.formatDate"
>
<component
<span>
{{
col
.
formatDate
(
row
)
}}
</span>
:is=
"() => col.render(row, $index)"
</
template
>
v-if=
"col.render"
<!-- 如果传递按钮数组,就展示按钮组 END-->
/>
<!-- render函数 (START) 使用内置的component组件可以支持h函数渲染和txs语法-->
<slot
<component
:is=
"() => col.render(row, $index)"
v-if=
"col.render"
/>
v-else-if=
"col.slot"
<slot
:name=
"col.slot"
v-else-if=
"col.slot"
:row=
"row"
:name=
"col.slot"
:index=
"$index"
:row=
"row"
></slot>
:index=
"$index"
<span
v-else
>
{{ row[col.prop!] }}
</span>
></slot>
</template>
<span
v-else
>
{{ row[col.prop!] }}
</span>
</ElTableColumn>
</template>
</ElTableColumn>
</template>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
type
{
Column
}
from
'element-plus'
import
type
{
Column
}
from
'element-plus'
...
...
src/types/table.d.ts
View file @
3ba91595
import
type
{
Column
as
ElColumn
}
from
'element-plus/lib/components/index.js'
import
type
{
Column
as
ElColumn
}
from
'element-plus/lib/components/index.js'
interface
Column
<
D
>
extends
Omit
<
ElColumn
,
'width'
>
{
interface
Column
<
D
>
extends
Omit
<
ElColumn
,
'width'
>
{
/** 为 false 时隐藏该列;未设置时默认显示 */
showColumn
?:
boolean
width
?:
number
|
string
width
?:
number
|
string
minWidth
?:
number
|
string
minWidth
?:
number
|
string
key
?:
string
key
?:
string
...
...
src/views/order/factoryOrderNew/component/ArrangeDialog.vue
View file @
3ba91595
...
@@ -21,12 +21,6 @@
...
@@ -21,12 +21,6 @@
/>
/>
</ElFormItem>
</ElFormItem>
<template
v-if=
"isAuto || !showAutoSwitch"
>
<template
v-if=
"isAuto || !showAutoSwitch"
>
<!--
<ElFormItem
label=
"排版类型"
>
<el-radio-group
v-model=
"form.type"
>
<el-radio
label=
"tiff"
>
tiff
</el-radio>
<el-radio
label=
"png"
>
png
</el-radio>
</el-radio-group>
</ElFormItem>
-->
<ElFormItem
label=
"排版宽度"
>
<ElFormItem
label=
"排版宽度"
>
<el-radio-group
v-model=
"form.templateWidth"
>
<el-radio-group
v-model=
"form.templateWidth"
>
<el-radio
:value=
"42"
>
40+2cm
</el-radio>
<el-radio
:value=
"42"
>
40+2cm
</el-radio>
...
@@ -92,10 +86,9 @@ const handleSubmit = async () => {
...
@@ -92,10 +86,9 @@ const handleSubmit = async () => {
const
{
templateWidth
}
=
form
.
value
const
{
templateWidth
}
=
form
.
value
const
mustFill
=
isAuto
.
value
||
!
showAutoSwitch
.
value
const
mustFill
=
isAuto
.
value
||
!
showAutoSwitch
.
value
if
(
mustFill
&&
(
!
templateWidth
)
)
{
if
(
mustFill
&&
!
templateWidth
)
{
return
ElMessage
.
warning
(
'
排版宽度为必选项
'
)
return
ElMessage
.
warning
(
'
请选择排版宽度
'
)
}
}
if
(
!
templateWidth
)
return
ElMessage
.
warning
(
'请选择排版宽度'
)
submitting
.
value
=
true
submitting
.
value
=
true
try
{
try
{
...
...
src/views/order/factoryOrderNew/index.vue
View file @
3ba91595
...
@@ -430,16 +430,32 @@
...
@@ -430,16 +430,32 @@
<
/span
>
<
/span
>
<
template
#
dropdown
>
<
template
#
dropdown
>
<
ElDropdownMenu
>
<
ElDropdownMenu
>
<
ElDropdownItem
command
=
"createLogistic"
<
ElDropdownItem
command
=
"createLogistic"
:
disabled
=
"
cardSelectList.some((item) => item.shipmentType !== 1)
"
>
创建物流订单
<
/ElDropdownIte
m
>
创建物流订单
<
/ElDropdownIte
m
>
>
<
ElDropdownItem
command
=
"getTrackingNumber"
<
ElDropdownItem
command
=
"getTrackingNumber"
:
disabled
=
"
cardSelectList.some((item) => item.shipmentType !== 1)
"
>
获取跟踪号
<
/ElDropdownIte
m
>
获取跟踪号
<
/ElDropdownIte
m
>
>
<
ElDropdownItem
command
=
"getPrintOrder"
<
ElDropdownItem
command
=
"getPrintOrder"
:
disabled
=
"
cardSelectList.some((item) => item.shipmentType !== 1)
"
>
获取打印面单
<
/ElDropdownIte
m
>
获取打印面单
<
/ElDropdownIte
m
>
>
<
ElDropdownItem
command
=
"cancelLogistic"
<
ElDropdownItem
command
=
"cancelLogistic"
:
disabled
=
"
cardSelectList.some((item) => item.shipmentType !== 1)
"
>
取消物流订单
<
/ElDropdownIte
m
>
取消物流订单
<
/ElDropdownIte
m
>
>
<
/ElDropdownMenu
>
<
/ElDropdownMenu
>
...
@@ -528,7 +544,7 @@
...
@@ -528,7 +544,7 @@
>
单件打单
<
/ElButto
n
>
单件打单
<
/ElButto
n
>
>
<
/span
>
<
/span
>
<
span
<
span
v
-
if
=
"status === 'IN_PRODUCTION' || status === 'PENDING_PACKING'"
v
-
if
=
"status === 'IN_PRODUCTION' || status === 'PENDING_PACKING'"
class
=
"item"
class
=
"item"
...
@@ -1111,10 +1127,19 @@ const mainColumns = [
...
@@ -1111,10 +1127,19 @@ const mainColumns = [
minWidth
:
160
,
minWidth
:
160
,
}
,
}
,
{
{
prop
:
'
logisticsWayNam
e'
,
prop
:
'
shipmentTyp
e'
,
label
:
'物流方式'
,
label
:
'物流方式'
,
minWidth
:
140
,
minWidth
:
140
,
align
:
'center'
,
align
:
'center'
,
render
:
(
row
:
FactoryOrderNewListData
)
=>
{
return
(
<
div
>
{
row
.
shipmentType
===
0
&&
<
span
>
自有物流
<
/span>
}
{
row
.
shipmentType
===
1
&&
<
span
>
工厂物流
<
/span>
}
{
row
.
shipmentType
===
2
&&
<
span
>
自提
<
/span>
}
<
/div
>
)
}
,
}
,
}
,
{
{
prop
:
'trackingNumber'
,
prop
:
'trackingNumber'
,
...
@@ -1146,7 +1171,7 @@ const mainColumns = [
...
@@ -1146,7 +1171,7 @@ const mainColumns = [
label
:
'收货地址'
,
label
:
'收货地址'
,
minWidth
:
220
,
minWidth
:
220
,
align
:
'left'
,
align
:
'left'
,
render
:
(
{
row
}
:
{
row
:
FactoryOrderNewListData
}
)
=>
{
render
:
(
row
:
FactoryOrderNewListData
)
=>
{
return
(
return
(
<
div
>
<
div
>
<
span
>
{
row
?.
receiverCountry
||
''
}
<
/span
>
<
span
>
{
row
?.
receiverCountry
||
''
}
<
/span
>
...
@@ -1181,7 +1206,13 @@ const mainColumns = [
...
@@ -1181,7 +1206,13 @@ const mainColumns = [
}
,
}
,
]
]
const
baseProductColumns
=
[
const
showProductInventoryColumns
=
computed
(
()
=>
status
.
value
!==
'PENDING_RECEIVE'
||
pendingAcceptSubTab
.
value
!==
'PENDING_RECEIVE'
,
)
const
baseProductColumns
=
computed
(()
=>
[
{
{
key
:
'variantImage'
,
key
:
'variantImage'
,
prop
:
'variantImage'
,
prop
:
'variantImage'
,
...
@@ -1230,8 +1261,7 @@ const baseProductColumns = [
...
@@ -1230,8 +1261,7 @@ const baseProductColumns = [
align
:
'center'
,
align
:
'center'
,
}
,
}
,
{
{
key
:
'styleNo'
,
prop
:
'supplierProductNo'
,
prop
:
'styleNo'
,
label
:
'款号'
,
label
:
'款号'
,
minWidth
:
100
,
minWidth
:
100
,
align
:
'center'
,
align
:
'center'
,
...
@@ -1253,6 +1283,7 @@ const baseProductColumns = [
...
@@ -1253,6 +1283,7 @@ const baseProductColumns = [
label
:
'可用数量'
,
label
:
'可用数量'
,
minWidth
:
100
,
minWidth
:
100
,
align
:
'right'
,
align
:
'right'
,
showColumn
:
showProductInventoryColumns
.
value
,
render
:
(
row
:
ProductListData
)
=>
{
render
:
(
row
:
ProductListData
)
=>
{
const
available
=
new
BigNumber
(
row
.
inventory
??
0
)
const
available
=
new
BigNumber
(
row
.
inventory
??
0
)
.
minus
(
row
.
occupyInventory
??
0
)
.
minus
(
row
.
occupyInventory
??
0
)
...
@@ -1266,12 +1297,14 @@ const baseProductColumns = [
...
@@ -1266,12 +1297,14 @@ const baseProductColumns = [
label
:
'库存数量'
,
label
:
'库存数量'
,
minWidth
:
100
,
minWidth
:
100
,
align
:
'right'
,
align
:
'right'
,
showColumn
:
showProductInventoryColumns
.
value
,
}
,
}
,
{
{
prop
:
'occupyInventory'
,
prop
:
'occupyInventory'
,
label
:
'占用数量'
,
label
:
'占用数量'
,
minWidth
:
100
,
minWidth
:
100
,
align
:
'right'
,
align
:
'right'
,
showColumn
:
showProductInventoryColumns
.
value
,
}
,
}
,
{
{
prop
:
'customsNameEnglish'
,
prop
:
'customsNameEnglish'
,
...
@@ -1320,12 +1353,12 @@ const baseProductColumns = [
...
@@ -1320,12 +1353,12 @@ const baseProductColumns = [
)
)
}
,
}
,
}
,
}
,
]
]
)
const
productColumns
=
computed
(()
=>
{
const
productColumns
=
computed
(()
=>
{
if
(
status
.
value
===
'PENDING_DELIVERY'
)
{
if
(
status
.
value
===
'PENDING_DELIVERY'
)
{
return
[
return
[
...
baseProductColumns
,
...
baseProductColumns
.
value
,
{
{
key
:
'operation'
,
key
:
'operation'
,
prop
:
'operation'
,
prop
:
'operation'
,
...
@@ -1369,7 +1402,7 @@ const productColumns = computed(() => {
...
@@ -1369,7 +1402,7 @@ const productColumns = computed(() => {
}
,
}
,
]
]
}
}
return
baseProductColumns
return
baseProductColumns
.
value
}
)
}
)
const
confirmOrderDialogRef
=
ref
<
InstanceType
<
typeof
ConfirmOrderDialog
>>
()
const
confirmOrderDialogRef
=
ref
<
InstanceType
<
typeof
ConfirmOrderDialog
>>
()
...
@@ -1380,7 +1413,8 @@ const pickFailDialogRef = ref<InstanceType<typeof PickFailDialog>>()
...
@@ -1380,7 +1413,8 @@ const pickFailDialogRef = ref<InstanceType<typeof PickFailDialog>>()
const
operateDetailsDialogRef
=
ref
()
const
operateDetailsDialogRef
=
ref
()
const
arrangeDialogRef
=
ref
<
InstanceType
<
typeof
ArrangeDialog
>>
()
const
arrangeDialogRef
=
ref
<
InstanceType
<
typeof
ArrangeDialog
>>
()
const
createLogisticDialogRef
=
ref
()
const
createLogisticDialogRef
=
ref
()
const
printWarehouseSkuDialogRef
=
ref
<
InstanceType
<
typeof
PrintWarehouseSkuTag
>>
()
const
printWarehouseSkuDialogRef
=
ref
<
InstanceType
<
typeof
PrintWarehouseSkuTag
>>
()
const
updateCustomsDialogVisible
=
ref
(
false
)
const
updateCustomsDialogVisible
=
ref
(
false
)
const
weightDialogRef
=
ref
()
const
weightDialogRef
=
ref
()
const
detailVisible
=
ref
(
false
)
const
detailVisible
=
ref
(
false
)
...
...
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