From 4c014a4f8034bd8c73aba8d909a58f63d5c4ec89 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期五, 17 一月 2025 08:39:18 +0800 Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat-ui-vue3 --- src/views/data/ind/item/DerIndDefineForm.vue | 70 ++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 29 deletions(-) diff --git a/src/views/data/ind/item/DerIndDefineForm.vue b/src/views/data/ind/item/DerIndDefineForm.vue index b05021c..dc35975 100644 --- a/src/views/data/ind/item/DerIndDefineForm.vue +++ b/src/views/data/ind/item/DerIndDefineForm.vue @@ -7,8 +7,21 @@ :rules="formRules" label-width="100px"> <el-row> <el-col :span="12"> + <el-form-item label="指标编码" prop="itemNo"> + <el-input v-model="formData.itemNo" disabled/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="指标名称" prop="itemName"> + <el-input v-model="formData.itemName"/> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> <el-form-item label="原子指标" prop="atomItem.itemId"> - <el-select v-model="formData.atomItem.itemId" clearable placeholder="请选择原子指标" + <el-select v-model="formData.atomItem.itemId" filterable + allow-create clearable placeholder="请选择原子指标" @change="handleChange($event)"> <el-option v-for="item in atomItemList" @@ -27,27 +40,15 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="指标编码" prop="itemNo"> - <el-input v-model="formData.itemNo" disabled/> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="指标名称" prop="itemName"> - <el-input v-model="formData.itemName"/> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> <el-form-item label="指标分类" prop="itemCategory"> - <el-select v-model="formData.itemCategory" clearable placeholder="请选择指标分类"> - <el-option - v-for="item in dataCategoryList" - :key="item.id" - :label="item.label" - :value="item.id + ''" - /> - </el-select> + <el-tree-select + v-model="formData.itemCategory" + :data="dataCategoryList" + :default-expanded-keys="[0]" + :props="defaultProps" + check-strictly + node-key="id" + /> </el-form-item> </el-col> <el-col :span="12"> @@ -83,12 +84,12 @@ <el-row> <el-col :span="6"> <el-form-item label="时间标识" prop="timeLabel"> - <el-select v-model="formData.derItem.timeLabel" clearable placeholder="请选择时间标识"> + <el-select v-model="formData.derItem.timeLabel" allow-create filterable clearable placeholder="请选择时间标识"> <el-option v-for="item in dataSetFieldList" :key="item.id" :label="item.fieldCode" - :value="item.id + ''" + :value="item.fieldCode" /> </el-select> </el-form-item> @@ -130,12 +131,13 @@ <el-row> <el-col :span="24"> <el-form-item label="分析维度" prop="dimension"> - <el-select v-model="formData.derItem.dimension" clearable placeholder="请选择分析维度" multiple> + <el-select v-model="formData.derItem.dimension" filterable + allow-create clearable placeholder="请选择分析维度" multiple> <el-option v-for="item in dataSetFieldList" :key="item.id" :label="item.fieldCode" - :value="item.id + ''" + :value="item.fieldCode" /> </el-select> </el-form-item> @@ -164,6 +166,7 @@ import {PageParam} from "@/api/data/ind/item/item"; import * as CategoryApi from "@/api/data/ind/category"; import * as DataSetFieldApi from "@/api/data/ind/data/data.field"; + import {handleTree} from "@/utils/tree"; defineOptions({name: 'IndDataSetForm'}) @@ -218,9 +221,16 @@ const formRef = ref() // 表单 Ref const atomItemList = ref([] as ItemApi.ItemVO[]) const showTimeChange = ref(false) - const dataCategoryList = ref([] as CategoryApi.IndItemCategoryVO[]) const dataSetFieldList = ref([] as DataSetFieldApi.DataSetFieldVO[]) + const dataCategoryList = ref<Tree[]>([]) + const getCategoryTree = async () => { + dataCategoryList.value = [] + const res = await CategoryApi.getCategoryListAllSimple() + let category: Tree = {id: 0, label: '主类目', children: []} + category.children = handleTree(res, 'id', 'pid') + dataCategoryList.value.push(category) + } /** 打开弹窗 */ const open = async (type: string, id?: string) => { dialogVisible.value = true @@ -228,7 +238,7 @@ formType.value = type resetForm() // 加载数据源列表 - dataCategoryList.value = await CategoryApi.getCategoryListAllSimple() + await getCategoryTree() const queryParams = reactive({ itemType: 'ATOM' }) @@ -243,7 +253,8 @@ }else { formData.value.derItem.dimension = "" } - await handleChange(formData.value.atomItem.itemId) + showTimeChange.value = formData.value.derItem.timeLimit === 'CUSTOM' + await handleChange(formData.value.derItem.atomItemId) } finally { formLoading.value = false } @@ -320,8 +331,9 @@ async function handleChange(event) { if (event !== null && event !== undefined) { const itemData = await ItemApi.getItem(event) + let a = itemData.atomItem.id + formData.value.atomItem.id = a formData.value.atomItem.itemName = itemData.itemName - formData.value.atomItem.id = itemData.atomItem.id formData.value.atomItem.itemId = itemData.atomItem.itemId const queryParams = reactive({ dataSetId: itemData.atomItem.dataSet, -- Gitblit v1.9.3