终版备货单 添加重新创建 调整 备货单需求页面显示

This commit is contained in:
浅念
2025-12-25 13:54:10 +08:00
parent 9b2776e533
commit a11d090273
4 changed files with 250 additions and 168 deletions
+226 -165
View File
@@ -69,7 +69,7 @@
<ElTableColumn label="编号" width="60" align="center">
<template #default="scope">{{ scope.$index + 1 }}</template>
</ElTableColumn>
<ElTableColumn label="车型" min-width="160" align="center">
<ElTableColumn label="车型" width="160" align="center">
<template #default="scope">
<div>{{ scope.row.model_snapshot || scope.row.model || '—' }}</div>
<div v-if="scope.row.mileage > 0">里程:{{ scope.row.mileage }}km</div>
@@ -79,176 +79,223 @@
<ElTableColumn label="数量/台" width="90" align="center">
<template #default="scope">{{ scope.row.num ?? scope.row.quantity ?? 1 }}</template>
</ElTableColumn>
<ElTableColumn label="颜色" min-width="120"align="center">
<ElTableColumn label="颜色" width="120" align="center">
<template #default="scope">
<div>
外饰:{{ scope.row.color_exterior_snapshot || '—' }}
</div>
<div>
内饰:{{ scope.row.color_interior_snapshot || '—' }}
</div>
<div> 外饰:{{ scope.row.color_exterior_snapshot || '—' }} </div>
<div> 内饰:{{ scope.row.color_interior_snapshot || '—' }} </div>
</template>
</ElTableColumn>
<!-- <ElTableColumn label="改装" min-width="120" align="center" prop="modify" /> -->
<ElTableColumn label="官方指导价/二手挂牌价" min-width="175" align="center">
<ElTableColumn label="费用" min-width="200" align="center">
<template #default="scope">
<span v-if="scope.row.mileage > 0">
{{
scope.row.listing_price?.currency_info ||
scope.row.listing_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
<span v-else>
{{
scope.row.official_price?.currency_info ||
scope.row.official_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
<ElRow :gutter="12" class="item-row-wrap">
<ElCol :span="8" class="item-row">
<span>官方指导价/二手挂牌价:</span>
<span v-if="scope.row.mileage > 0" class="price-num">
{{
scope.row.listing_price?.currency_info ||
scope.row.listing_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
<span v-else class="price-num">
{{
scope.row.official_price?.currency_info ||
scope.row.official_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>优惠:</span>
<span v-if="scope.row.mileage > 0" class="price-num">
{{
scope.row.reduction_price?.currency_info ||
scope.row.reduction_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
<span v-else class="price-num">
{{
scope.row.discount_price?.currency_info ||
scope.row.discount_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>手续费:</span>
<span class="price-num">
{{
scope.row.handling_fee?.currency_info ||
scope.row.handling_fee?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
</ElRow>
<ElRow :gutter="12" class="item-row-wrap">
<ElCol :span="8" class="item-row">
<span>加价:</span>
<span class="price-num">
{{
scope.row.increase_price?.currency_info ||
scope.row.increase_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>改装费:</span>
<span class="price-num">
{{
scope.row.retrofit_fee?.currency_info ||
scope.row.retrofit_fee?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>配件费:</span>
<span class="price-num">
{{
scope.row.accessory_price?.currency_info ||
scope.row.accessory_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
</ElRow>
<ElRow :gutter="12" class="item-row-wrap">
<ElCol :span="8" class="item-row">
<span>FOB运费:</span>
<span class="price-num">
{{
scope.row.fob_transport_fee?.currency_info ||
scope.row.fob_transport_fee?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>港杂费:</span>
<span class="price-num">
{{
scope.row.port_misc_fee?.currency_info ||
scope.row.port_misc_fee?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>海运费:</span>
<span class="price-num">
{{
scope.row.ocean_freight?.currency_info ||
scope.row.ocean_freight?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
</ElRow>
<ElRow :gutter="12" class="item-row-wrap">
<ElCol :span="8" class="item-row">
<span>佣金:</span>
<span class="price-num">
{{
scope.row.commission?.currency_info ||
scope.row.commission?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>挂账:</span>
<span class="price-num">
{{
scope.row.retention_price?.currency_info ||
scope.row.retention_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>购置税:</span>
<span class="price-num">
{{
scope.row.purchase_tax?.currency_info ||
scope.row.purchase_tax?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
</ElRow>
<ElRow :gutter="12" class="item-row-wrap">
<ElCol :span="8" class="item-row">
<span>预估退税额:</span>
<span class="price-num">
{{ scope.row.tax_refund?.currency_info || scope.row.tax_refund?.amount || '—' }}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>车价:</span>
<span class="price-num">
{{ scope.row.car_price?.currency_info || scope.row.car_price?.amount || '—' }}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>收款价:</span>
<span class="price-num">
{{
scope.row.unit_price?.currency_info ||
scope.row.unit_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
</ElRow>
<ElRow :gutter="12" class="item-row-wrap">
<ElCol :span="8" class="item-row">
<span>总价:</span>
<span class="price-num">
{{
scope.row.total_price?.currency_info ||
scope.row.total_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row">
<span>报关价:</span>
<span class="price-num">
{{
scope.row.clearance_price?.currency_info ||
scope.row.clearance_price?.amount ||
scope.row.clearance_price ||
'—'
}}
</span>
</ElCol>
<ElCol :span="8" class="item-row"></ElCol>
</ElRow>
</template>
</ElTableColumn>
<ElTableColumn label="优惠" min-width="120" align="center">
<template #default="scope">
<span v-if="scope.row.mileage > 0">
{{
scope.row.reduction_price?.currency_info ||
scope.row.reduction_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
<span v-else>
{{
scope.row.discount_price?.currency_info ||
scope.row.discount_price?.amount ||
scope.row.discount ||
'—'
}}
</span>
</template>
</ElTableColumn>
<ElTableColumn label="手续费" min-width="120" align="center">
<template #default="scope">{{
scope.row.handling_fee?.currency_info ||
scope.row.handling_fee?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="加价" min-width="120" align="center">
<template #default="scope">{{
scope.row.increase_price?.currency_info ||
scope.row.increase_price?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="改装费" min-width="120" align="center">
<template #default="scope">{{
scope.row.retrofit_fee?.currency_info ||
scope.row.retrofit_fee?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="配件费" min-width="120" align="center">
<template #default="scope">{{
scope.row.accessory_price?.currency_info ||
scope.row.accessory_price?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="FOB运费" min-width="120" align="center">
<template #default="scope">{{
scope.row.fob_transport_fee?.currency_info ||
scope.row.fob_transport_fee?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="港杂费" min-width="120" align="center">
<template #default="scope">{{
scope.row.port_misc_fee?.currency_info ||
scope.row.port_misc_fee?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="海运费" min-width="120" align="center">
<template #default="scope">{{
scope.row.ocean_freight?.currency_info ||
scope.row.ocean_freight?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="佣金" min-width="120" align="center">
<template #default="scope">{{
scope.row.commission?.currency_info ||
scope.row.commission?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="挂账" min-width="120" align="center">
<template #default="scope">{{
scope.row.retention_price?.currency_info ||
scope.row.retention_price?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="购置税" min-width="120" align="center">
<template #default="scope">{{
scope.row.purchase_tax?.currency_info ||
scope.row.purchase_tax?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="预估退税额" min-width="120" align="center">
<template #default="scope">{{
scope.row.tax_refund?.currency_info ||
scope.row.tax_refund?.amount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="车价" min-width="120" align="center">
<template #default="scope">{{
scope.row.car_price?.currency_info ||
scope.row.car_price?.amount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="收款价" min-width="120" align="center">
<template #default="scope">{{
scope.row.unit_price?.currency_info ||
scope.row.unit_price?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="总价" min-width="120" align="center">
<template #default="scope">{{
scope.row.total_price?.currency_info ||
scope.row.total_price?.amount ||
scope.row.discount ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn label="报关价" min-width="120" align="center">
<template #default="scope">{{
scope.row.clearance_price?.currency_info ||
scope.row.clearance_price?.amount ||
scope.row.clearance_price ||
'—'
}}</template>
</ElTableColumn>
<ElTableColumn fixed="right" label="利润" min-width="120" align="center">
<ElTableColumn fixed="right" label="利润" width="150" align="center">
<template #default="scope">{{
scope.row.profit?.currency_info ||
scope.row.profit?.amount ||
@@ -619,6 +666,20 @@
padding: 10px;
background-color: #f9f9f9;
}
.item-row-wrap {
margin: 0 !important;
}
.item-row-wrap .item-row {
border: 1px solid #e0e0e0;
padding: 5px 0;
// min-height: 40px;
text-align: left;
}
.price-num {
font-weight: bold;
color: #000;
margin-left: 5px;
}
/* 打印优化 */
@media print {
.order-detail-content {
@@ -1,7 +1,7 @@
<template>
<div class="stocking-show-page">
<div class="boxshadow">
<div v-if="flow_type == 'stock_orders'">
<div v-if="flow_type == 'stock_orders' || flow_type == 'stock_orders_nullify'">
<OrderDetailContent :orderData="orderDialog.orderData" />
</div>
<div v-if="flow_type == 'purchase_orders'">
@@ -263,7 +263,7 @@
id: approval_id,
flow_type: flow_type
})
if (flow_type == 'stock_orders') {
if (flow_type == 'stock_orders' || flow_type == 'stock_orders_nullify') {
const orderData: OrderData = res
orderDialog.orderData = orderData
} else if (flow_type == 'purchase_orders') {
+2 -1
View File
@@ -1071,6 +1071,7 @@
const route = useRoute()
const stocking_id = route.query.id
const object_id = route.query.object_id
const { getUserInfo } = useUserStore()
// 表单引用
const baseFormRef = ref()
@@ -1185,7 +1186,7 @@
handleVehicleSizeChange,
handleVehicleCurrentChange,
chooseVehicle
} = useStockingForm(true, stocking_id as string) // isFinal = true, stocking_id
} = useStockingForm(true, (object_id as string) ? (object_id as string) : (stocking_id as string)) // isFinal = true, stocking_id
// 获取详情数据
const getdetilfn = async () => {
+20
View File
@@ -86,6 +86,19 @@
>
<i class="iconfont-sys">&#xe641;</i> 提交
</el-link>
<el-link
v-if="
scope.row.approval_status == 3 &&
hasAuth('final_stock@add_final') &&
(scope.row.appro_status ? scope.row.appro_status.status == 'rejected' : false)
"
type="primary"
underline="never"
style="margin-right: 8px"
@click="handleCreateRepair(scope.row)"
>
<i class="iconfont-sys">&#xe6bf;</i> 重新创建
</el-link>
<el-link
type="primary"
underline="never"
@@ -404,6 +417,13 @@
orderDialog.visible = true
}
}
const handleCreateRepair = (row: any) => {
router.push({
path: '/crmpc/stocking/final_add',
query: { id: row.id, object_id: row.object_id } // 可带客户名等参数
})
// TODO: 跳转创建维修保单
}
</script>
<style scoped lang="scss">