潘志宝
2024-11-02 2cb862114a5701434966020e3d86a9e57b88b51a
计划数据
已修改3个文件
44 ■■■■ 文件已修改
src/api/data/plan/category/index.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/data/plan/item/ItemForm.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/data/plan/item/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/data/plan/category/index.ts
@@ -7,10 +7,18 @@
  sort: number
}
export interface IndItemCategoryReqVO {
export interface ItemCategoryReqVO {
  label?: string
}
export const defaultProps = {
  children: 'children',
  label: 'label',
  value: 'id',
  isLeaf: 'leaf',
  emitPath: false // 用于 cascader 组件:在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组,若设置 false,则只返回该节点的值
}
// 查询列表
export const getCategoryList = (params) => {
  return request.get({ url: '/data/plan/category/list', params})
src/views/data/plan/item/ItemForm.vue
@@ -22,14 +22,14 @@
      <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-tree-select
              v-model="formData.itemCategory"
              :data="categoryTree"
              :default-expanded-keys="[0]"
              :props="defaultProps"
              check-strictly
              node-key="id"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
@@ -46,7 +46,7 @@
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="6">
        <el-col :span="12">
          <el-form-item label="数据集" prop="dataSet">
            <el-select v-model="formData.dataSet" clearable placeholder="请选择数据集" @change="handleDataSetChange($event)">
              <el-option
@@ -76,6 +76,8 @@
import { CommonStatusEnum } from '@/utils/constants'
import * as DataSetApi from "@/api/data/plan/data";
import * as CategoryApi from "@/api/data/plan/category";
import {defaultProps} from "@/api/data/plan/category";
import {handleTree} from "@/utils/tree";
defineOptions({ name: 'PlanItemForm' })
@@ -103,7 +105,15 @@
})
const formRef = ref() // 表单 Ref
const dataSetList = ref([] as DataSetApi.DataSetVO[])
const dataCategoryList = ref([])
const categoryTree = ref<Tree[]>([])
const getCategoryTree = async () => {
  categoryTree.value = []
  const res = await CategoryApi.getCategoryListAllSimple()
  let category: Tree = { id: 0, label: '主类目', children: [] }
  category.children = handleTree(res, 'id', 'pid')
  categoryTree.value.push(category)
}
/** 打开弹窗 */
const open = async (type: string, id?: number) => {
@@ -113,8 +123,8 @@
  resetForm()
  // 加载数据源列表
  dataSetList.value = await DataSetApi.getDataSetList()
  dataCategoryList.value = await CategoryApi.getCategoryListAllSimple()
  // 加载类别
  await getCategoryTree()
  // 修改时,设置数据
  if (id) {
    formLoading.value = true
src/views/data/plan/item/index.vue
@@ -56,7 +56,7 @@
            v-hasPermi="['data:ind-item:update']"
            link
            type="primary"
            @click="openForm('update', scope.row)">
            @click="openForm('update', scope.row.id)">
            修改
          </el-button>
          <el-button