限制产品属性可选项目

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_FILE_ORDER_TYPE = 'erp_file_order_type', // 文件单据类型
ERP_ORDER_PRE_STATUS = 'erp_order_pre_status', // 订单预报价单状态 ERP_ORDER_PRE_STATUS = 'erp_order_pre_status', // 订单预报价单状态
ERP_PRODUCT_PROPERTIES_CATEGORY = 'erp_product_properties_category', // 产品属性的分类 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 - 人工智能模块 ========== // ========== AI - 人工智能模块 ==========

View File

@ -18,6 +18,16 @@
/> />
</el-select> </el-select>
</el-form-item> </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-form-item label="单数属性" prop="ifSingleProperty">
<el-radio-group v-model="formData.ifSingleProperty"> <el-radio-group v-model="formData.ifSingleProperty">
<el-radio <el-radio
@ -30,11 +40,42 @@
</el-form-item> </el-form-item>
<el-form-item label="属性英文" prop="productPropertiesEn"> <el-form-item label="属性英文" prop="productPropertiesEn">
<el-input v-model="formData.productPropertiesEn" placeholder="请输入设备属性英文" /> <el-select
</el-form-item> v-model="formData.productPropertiesEn"
<el-form-item label="属性中文" prop="productPropertiesCn"> placeholder="请选择属性英文"
<el-input v-model="formData.productPropertiesCn" 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>
<el-form-item label="必填" prop="ifRequired"> <el-form-item label="必填" prop="ifRequired">
<el-radio-group v-model="formData.ifRequired"> <el-radio-group v-model="formData.ifRequired">
<el-radio <el-radio
@ -45,16 +86,7 @@
/> />
</el-radio-group> </el-radio-group>
</el-form-item> </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-form-item label="记录sn" prop="ifSn">
<el-radio-group v-model="formData.ifSn"> <el-radio-group v-model="formData.ifSn">
<el-radio <el-radio
@ -74,7 +106,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { defineProps } from 'vue'; 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 { ProductCategoryPropertiesApi, ProductCategoryPropertiesVO } from '@/api/erp/product/category/productcategoryproperties'
import { ProductCategoryVO } from '@/api/erp/product/category' import { ProductCategoryVO } from '@/api/erp/product/category'

View File

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