完善分类属性
parent
eb450b5c75
commit
6ee1941db5
|
|
@ -11,7 +11,7 @@
|
|||
<el-form-item label="类别" prop="productCategoryId">
|
||||
<el-select
|
||||
v-model="queryParams.productCategoryId"
|
||||
placeholder="请选择故障部位"
|
||||
placeholder="请选择类别"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -9,48 +9,60 @@
|
|||
>
|
||||
<el-form-item label="所属分类" prop="productCategoryId">
|
||||
<el-select v-model="formData.productCategoryId" placeholder="请选择所属分类">
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
|
||||
<el-option
|
||||
v-for="dict in productCategoryList"
|
||||
:key="dict.id"
|
||||
:label="dict.name"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单数属性" prop="ifSingleProperty">
|
||||
<el-checkbox-group v-model="formData.ifSingleProperty">
|
||||
<el-checkbox
|
||||
<el-radio-group v-model="formData.ifSingleProperty">
|
||||
<el-radio
|
||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-checkbox-group>
|
||||
</el-radio-group>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="设备属性英文" prop="productPropertiesEn">
|
||||
<el-form-item label="属性英文" prop="productPropertiesEn">
|
||||
<el-input v-model="formData.productPropertiesEn" placeholder="请输入设备属性英文" />
|
||||
</el-form-item>
|
||||
<el-form-item label="设备属性中文" prop="productPropertiesCn">
|
||||
<el-form-item label="属性中文" prop="productPropertiesCn">
|
||||
<el-input v-model="formData.productPropertiesCn" placeholder="请输入设备属性中文" />
|
||||
</el-form-item>
|
||||
<el-form-item label="必填" prop="ifRequired">
|
||||
<el-select v-model="formData.ifRequired" placeholder="请选择是否必填">
|
||||
<el-option
|
||||
<el-radio-group v-model="formData.ifRequired">
|
||||
<el-radio
|
||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="配件" prop="ifAttachment">
|
||||
<el-select v-model="formData.ifAttachment" placeholder="请选择是否配件">
|
||||
<el-option
|
||||
<el-radio-group v-model="formData.ifAttachment">
|
||||
<el-radio
|
||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="记录sn" prop="ifSn">
|
||||
<el-radio-group v-model="formData.ifSn">
|
||||
<el-radio value="1">请选择字典生成</el-radio>
|
||||
<el-radio
|
||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
|
@ -61,9 +73,16 @@
|
|||
</Dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { defineProps } from 'vue';
|
||||
import { getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
|
||||
import { ProductCategoryPropertiesApi, ProductCategoryPropertiesVO } from '@/api/erp/product/category/productcategoryproperties'
|
||||
import { ProductCategoryVO } from '@/api/erp/product/category'
|
||||
|
||||
/** 从父组件取productCategoryList数组*/
|
||||
defineProps<{
|
||||
productCategoryList: ProductCategoryVO[]
|
||||
}
|
||||
>();
|
||||
/** ERP 产品分类属性 表单 */
|
||||
defineOptions({ name: 'ProductCategoryPropertiesForm' })
|
||||
|
||||
|
|
@ -89,7 +108,9 @@ const formRules = reactive({
|
|||
ifSingleProperty: [{ required: true, message: '单数属性不能为空', trigger: 'blur' }],
|
||||
ifRequired: [{ required: true, message: '必填不能为空', trigger: 'change' }],
|
||||
ifAttachment: [{ required: true, message: '配件不能为空', trigger: 'change' }],
|
||||
ifSn: [{ required: true, message: '记录sn不能为空', trigger: 'blur' }]
|
||||
ifSn: [{ required: true, message: '记录sn不能为空', trigger: 'blur' }],
|
||||
productPropertiesCn : [{ required: true, message: '属性中文不能为空', trigger: 'blur' }],
|
||||
productPropertiesEn : [{ required: true, message: '属性英文不能为空', trigger: 'blur' }]
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
|
|
|
|||
|
|
@ -8,14 +8,19 @@
|
|||
:inline="true"
|
||||
label-width="68px"
|
||||
>
|
||||
<el-form-item label="所属分类" prop="productCategoryId">
|
||||
<el-form-item label="类别" prop="productCategoryId">
|
||||
<el-select
|
||||
v-model="queryParams.productCategoryId"
|
||||
placeholder="请选择所属分类"
|
||||
placeholder="请选择类别"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
<el-option
|
||||
v-for="dict in productCategoryList"
|
||||
:key="dict.id"
|
||||
:label="dict.name"
|
||||
:value="dict.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="属性英文" prop="productPropertiesEn">
|
||||
|
|
@ -27,6 +32,21 @@
|
|||
class="!w-240px"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="单数属性" prop="ifSingleProperty">
|
||||
<el-select
|
||||
v-model="queryParams.ifSingleProperty"
|
||||
placeholder="请选择单身属性"
|
||||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="属性中文" prop="productPropertiesCn">
|
||||
<el-input
|
||||
v-model="queryParams.productPropertiesCn"
|
||||
|
|
@ -73,7 +93,12 @@
|
|||
clearable
|
||||
class="!w-240px"
|
||||
>
|
||||
<el-option label="请选择字典生成" value="" />
|
||||
<el-option
|
||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="createTime">
|
||||
|
|
@ -114,8 +139,12 @@
|
|||
<!-- 列表 -->
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="分类属性编号" align="center" prop="id" />
|
||||
<el-table-column label="所属分类" align="center" prop="productCategoryId" />
|
||||
<el-table-column label="编号" align="center" prop="id" />
|
||||
<el-table-column label="所属分类" align="center" prop="productCategoryId">
|
||||
<template #default="scope">
|
||||
{{ getCategoryName(scope.row.productCategoryId) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="单数属性" align="center" prop="ifSingleProperty">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.ifSingleProperty" />
|
||||
|
|
@ -133,7 +162,11 @@
|
|||
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.ifAttachment" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="记录sn" align="center" prop="ifSn" />
|
||||
<el-table-column label="记录sn" align="center" prop="ifSn">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.ifRequired" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
align="center"
|
||||
|
|
@ -172,7 +205,7 @@
|
|||
</ContentWrap>
|
||||
|
||||
<!-- 表单弹窗:添加/修改 -->
|
||||
<ProductCategoryPropertiesForm ref="formRef" @success="getList" />
|
||||
<ProductCategoryPropertiesForm ref="formRef" @success="getList" :product-category-list="productCategoryList" />
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
|
|
@ -181,7 +214,10 @@ import { dateFormatter } from '@/utils/formatTime'
|
|||
import download from '@/utils/download'
|
||||
import { ProductCategoryPropertiesApi, ProductCategoryPropertiesVO } from '@/api/erp/product/category/productcategoryproperties'
|
||||
import ProductCategoryPropertiesForm from './ProductCategoryPropertiesForm.vue'
|
||||
import { ProductCategoryApi , ProductCategoryVO } from '@/api/erp/product/category'
|
||||
|
||||
/** ERP 产品分类的数组 */
|
||||
const productCategoryList = ref<ProductCategoryVO[]>([])
|
||||
/** ERP 产品分类属性 列表 */
|
||||
defineOptions({ name: 'ProductCategoryProperties' })
|
||||
|
||||
|
|
@ -264,8 +300,30 @@ const handleExport = async () => {
|
|||
}
|
||||
}
|
||||
|
||||
/** 根据用户输入搜索类别 */
|
||||
const searchProductCategory = async () => {
|
||||
//构建param对象
|
||||
const params = {
|
||||
status: 0
|
||||
}
|
||||
try {
|
||||
productCategoryList.value = await ProductCategoryApi.getProductCategoryList(params)
|
||||
} catch (error) {
|
||||
productCategoryList.value = []
|
||||
}
|
||||
}
|
||||
|
||||
/** 根据 productCategoryId 获取类别名称 */
|
||||
const getCategoryName = (id: number | undefined) => {
|
||||
if (!id) return ''
|
||||
const category = productCategoryList.value.find(item => item.id === id)
|
||||
return category ? category.name : '' // 假设类别名称字段为 name
|
||||
}
|
||||
|
||||
/** 初始化 **/
|
||||
onMounted(() => {
|
||||
getList()
|
||||
searchProductCategory()
|
||||
|
||||
})
|
||||
</script>
|
||||
Loading…
Reference in New Issue