限制产品属性可选项目

pull/744/head
没钱 2025-03-07 16:12:09 +08:00
parent 96f2291263
commit c7875d74c3
3 changed files with 77 additions and 38 deletions

View File

@ -220,6 +220,10 @@ export enum DICT_TYPE {
ERP_FILE_ORDER_TYPE = 'erp_file_order_type', // 文件单据类型
ERP_ORDER_PRE_STATUS = 'erp_order_pre_status', // 订单预报价单状态
ERP_PRODUCT_PROPERTIES_CATEGORY = 'erp_product_properties_category', // 产品属性的分类
ERP_PRODUCT_PROPERTIES = 'erp_product_properties', // 产品配件属性
ERP_PRODUCT_COMMON_PROPERTIES = 'erp_product_common_properties', // 产品普通属性
ERP_PRODUCT_INPUT_PROPERTIES = 'erp_product_input_properties', // 产品输入属性
// ========== AI - 人工智能模块 ==========

View File

@ -18,6 +18,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="属性分类" prop="productPropertiesCategory">
<el-radio-group v-model="formData.productPropertiesCategory">
<el-radio
v-for="dict in getIntDictOptions(DICT_TYPE.ERP_PRODUCT_PROPERTIES_CATEGORY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-radio-group>
</el-form-item>
<el-form-item label="单数属性" prop="ifSingleProperty">
<el-radio-group v-model="formData.ifSingleProperty">
<el-radio
@ -30,11 +40,42 @@
</el-form-item>
<el-form-item label="属性英文" prop="productPropertiesEn">
<el-input v-model="formData.productPropertiesEn" placeholder="请输入设备属性英文" />
</el-form-item>
<el-form-item label="属性中文" prop="productPropertiesCn">
<el-input v-model="formData.productPropertiesCn" placeholder="请输入设备属性中文" />
<el-select
v-model="formData.productPropertiesEn"
placeholder="请选择属性英文"
clearable
class="!w-240px"
>
<div v-if="formData.productPropertiesCategory===0">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.ERP_PRODUCT_COMMON_PROPERTIES)"
:key="dict.value"
:label="dict.value+'#'+dict.label"
:value="dict.value"
/>
</div>
<div v-else-if="formData.productPropertiesCategory===1">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.ERP_PRODUCT_PROPERTIES)"
:key="dict.value"
:label="dict.value+'#'+dict.label"
:value="dict.value"
/>
</div>
<div v-else-if="formData.productPropertiesCategory===2">
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.ERP_PRODUCT_INPUT_PROPERTIES)"
:key="dict.value"
:label="dict.value+'#'+dict.label"
:value="dict.value"
/>
</div>
</el-select>
</el-form-item>
<el-form-item label="必填" prop="ifRequired">
<el-radio-group v-model="formData.ifRequired">
<el-radio
@ -45,16 +86,7 @@
/>
</el-radio-group>
</el-form-item>
<el-form-item label="属性分类" prop="productPropertiesCategory">
<el-radio-group v-model="formData.productPropertiesCategory">
<el-radio
v-for="dict in getBoolDictOptions(DICT_TYPE.ERP_PRODUCT_PROPERTIES_CATEGORY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-radio-group>
</el-form-item>
<el-form-item label="记录sn" prop="ifSn">
<el-radio-group v-model="formData.ifSn">
<el-radio
@ -74,7 +106,7 @@
</template>
<script setup lang="ts">
import { defineProps } from 'vue';
import { getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
import { getBoolDictOptions,getStrDictOptions,getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import { ProductCategoryPropertiesApi, ProductCategoryPropertiesVO } from '@/api/erp/product/category/productcategoryproperties'
import { ProductCategoryVO } from '@/api/erp/product/category'

View File

@ -24,19 +24,25 @@
/>
</el-select>
</el-form-item>
<el-form-item label="属性英文" prop="productPropertiesEn">
<el-input
v-model="queryParams.productPropertiesEn"
placeholder="请输入设备属性英文"
<el-form-item label="属性分类" prop="productPropertiesCategory">
<el-select
v-model="queryParams.productPropertiesCategory"
placeholder="请选择属性分类"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
>
<el-option
v-for="dict in getStrDictOptions(DICT_TYPE.ERP_PRODUCT_PROPERTIES_CATEGORY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="单数属性" prop="ifSingleProperty">
<el-select
v-model="queryParams.ifSingleProperty"
placeholder="请选择单身属性"
placeholder="请选择单属性"
clearable
class="!w-240px"
>
@ -48,6 +54,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="属性英文" prop="productPropertiesEn">
<el-input
v-model="queryParams.productPropertiesEn"
placeholder="请输入设备属性英文"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="属性中文" prop="productPropertiesCn">
<el-input
v-model="queryParams.productPropertiesCn"
@ -56,6 +72,7 @@
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="必填" prop="ifRequired">
<el-select
@ -72,21 +89,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="属性分类" prop="productPropertiesCategory">
<el-select
v-model="queryParams.productPropertiesCategory"
placeholder="请选择属性分类"
clearable
class="!w-240px"
>
<el-option
v-for="dict in getBoolDictOptions(DICT_TYPE.ERP_PRODUCT_PROPERTIES_CATEGORY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="记录sn" prop="ifSn">
<el-select
v-model="queryParams.ifSn"
@ -210,7 +213,7 @@
</template>
<script setup lang="ts">
import { getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
import { getBoolDictOptions,getStrDictOptions, DICT_TYPE } from '@/utils/dict'
import { dateFormatter } from '@/utils/formatTime'
import download from '@/utils/download'
import { ProductCategoryPropertiesApi, ProductCategoryPropertiesVO } from '@/api/erp/product/category/productcategoryproperties'