Commit 3ba91595 by qinjianhui

fix: 排单选择排版宽度修改

parent 82b25374
...@@ -32,7 +32,12 @@ ...@@ -32,7 +32,12 @@
</template> </template>
</ElTableColumn> </ElTableColumn>
</template> </template>
<ElTableColumn v-else header-align="center" v-bind="col"> <template v-else>
<ElTableColumn
v-if="col.showColumn !== false"
header-align="center"
v-bind="col"
>
<template #header="{ column, $index }"> <template #header="{ column, $index }">
<component <component
:is="() => col.headerRender(column, $index)" :is="() => col.headerRender(column, $index)"
...@@ -52,10 +57,7 @@ ...@@ -52,10 +57,7 @@
</template> </template>
<!-- 如果传递按钮数组,就展示按钮组 END--> <!-- 如果传递按钮数组,就展示按钮组 END-->
<!-- render函数 (START) 使用内置的component组件可以支持h函数渲染和txs语法--> <!-- render函数 (START) 使用内置的component组件可以支持h函数渲染和txs语法-->
<component <component :is="() => col.render(row, $index)" v-if="col.render" />
:is="() => col.render(row, $index)"
v-if="col.render"
/>
<slot <slot
v-else-if="col.slot" v-else-if="col.slot"
:name="col.slot" :name="col.slot"
...@@ -65,6 +67,7 @@ ...@@ -65,6 +67,7 @@
<span v-else>{{ row[col.prop!] }}</span> <span v-else>{{ row[col.prop!] }}</span>
</template> </template>
</ElTableColumn> </ElTableColumn>
</template>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import type { Column } from 'element-plus' import type { Column } from 'element-plus'
......
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
......
...@@ -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 {
......
...@@ -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)
"
>创建物流订单</ElDropdownItem >创建物流订单</ElDropdownItem
> >
<ElDropdownItem command="getTrackingNumber" <ElDropdownItem
command="getTrackingNumber"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
>获取跟踪号</ElDropdownItem >获取跟踪号</ElDropdownItem
> >
<ElDropdownItem command="getPrintOrder" <ElDropdownItem
command="getPrintOrder"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
>获取打印面单</ElDropdownItem >获取打印面单</ElDropdownItem
> >
<ElDropdownItem command="cancelLogistic" <ElDropdownItem
command="cancelLogistic"
:disabled="
cardSelectList.some((item) => item.shipmentType !== 1)
"
>取消物流订单</ElDropdownItem >取消物流订单</ElDropdownItem
> >
</ElDropdownMenu> </ElDropdownMenu>
...@@ -1111,10 +1127,19 @@ const mainColumns = [ ...@@ -1111,10 +1127,19 @@ const mainColumns = [
minWidth: 160, minWidth: 160,
}, },
{ {
prop: 'logisticsWayName', prop: 'shipmentType',
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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment