fix: semi/product 对话框中成本字段添加 v-if 权限守卫,与 buy.vue 的 hasFormFieldPermission 模式对齐

This commit is contained in:
yueli
2026-07-17 14:43:08 +08:00
parent 1cc7d51e03
commit 8b6539b976
2 changed files with 13 additions and 10 deletions

View File

@ -491,7 +491,7 @@
<el-autocomplete v-model="form.production_manager" :fetch-suggestions="querySearchManager" placeholder="输入或选择负责人" style="width: 100%" clearable :trigger-on-focus="true" @select="handleManagerSelect"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-if="hasFormFieldPermission('sale_price')">
<el-form-item label="产品定价">
<el-input-number v-model="form.sale_price" :precision="2" :controls="false" style="width:100%" placeholder="请输入">
<template #prefix>¥</template>
@ -507,18 +507,18 @@
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="24">
<el-col :span="8">
<el-row :gutter="24" v-if="hasFormFieldPermission('raw_material_cost') || hasFormFieldPermission('unit_total_cost') || hasFormFieldPermission('total_price')">
<el-col :span="8" v-if="hasFormFieldPermission('raw_material_cost')">
<el-form-item label="原料成本">
<el-input-number v-model="form.raw_material_cost" :precision="2" :controls="false" style="width:100%" placeholder="请输入"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-if="hasFormFieldPermission('unit_total_cost')">
<el-form-item label="单件成本">
<el-input-number v-model="form.unit_total_cost" :precision="2" :controls="false" style="width:100%" placeholder="请输入"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-if="hasFormFieldPermission('total_price')">
<el-form-item label="总成本">
<el-input-number v-model="form.total_price" :precision="2" :controls="false" style="width:100%" placeholder="自动计算" disabled/>
</el-form-item>
@ -1007,6 +1007,8 @@ const hasFormFieldPermission = (fieldName: string) => {
production_time_range: 'inbound_product:production_start_time',
raw_material_cost: 'inbound_product:raw_material_cost',
manual_cost: 'inbound_product:manual_cost',
unit_total_cost: 'inbound_product:unit_total_cost',
total_price: 'inbound_product:total_price',
sale_price: 'inbound_product:sale_price',
quality_report_link: 'inbound_product:quality_report_link',
inspection_report_link: 'inbound_product:inspection_report_link',

View File

@ -557,19 +557,19 @@
</el-col>
</el-row>
<div class="divider-text">成本核算</div>
<el-row :gutter="24">
<el-col :span="8">
<div class="divider-text" v-if="hasFormFieldPermission('raw_material_cost') || hasFormFieldPermission('unit_total_cost') || hasFormFieldPermission('total_price')">成本核算</div>
<el-row :gutter="24" v-if="hasFormFieldPermission('raw_material_cost') || hasFormFieldPermission('unit_total_cost') || hasFormFieldPermission('total_price')">
<el-col :span="8" v-if="hasFormFieldPermission('raw_material_cost')">
<el-form-item label="估算成本">
<el-input-number v-model="form.raw_material_cost" :precision="2" :controls="false" style="width:100%" placeholder="请输入"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-if="hasFormFieldPermission('unit_total_cost')">
<el-form-item label="基于BOM成本">
<el-input-number v-model="form.unit_total_cost" :precision="2" :controls="false" style="width:100%" placeholder="请输入"/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="8" v-if="hasFormFieldPermission('total_price')">
<el-form-item label="总成本">
<el-input-number v-model="form.total_price" :precision="2" :controls="false" style="width:100%" placeholder="自动计算" disabled/>
</el-form-item>
@ -1164,6 +1164,7 @@ const hasFormFieldPermission = (fieldName: string) => {
raw_material_cost: 'inbound_semi:raw_material_cost',
manual_cost: 'inbound_semi:manual_cost',
unit_total_cost: 'inbound_semi:unit_total_cost',
total_price: 'inbound_semi:total_price',
production_manager: 'inbound_semi:production_manager',
production_time_range: 'inbound_semi:production_start_time',
arrival_photo: 'inbound_semi:arrival_photo',