潘志宝
2024-11-04 cfec18ca87063d77398711c2914695e8e7f6b2e6
计划数据
已修改2个文件
32 ■■■■■ 文件已修改
src/views/data/plan/item/ItemChart.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/data/plan/item/ItemForm.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/data/plan/item/ItemChart.vue
@@ -39,7 +39,8 @@
          :loading="exportLoading"
          v-hasPermi="['data:point:export']"
        >
          <Icon icon="ep:download" />导出
          <Icon icon="ep:download"/>
          导出
        </el-button>
      </el-form-item>
    </el-form>
@@ -52,6 +53,7 @@
import * as echarts from 'echarts';
import * as ItemApi from '@/api/data/plan/item'
import download from "@/utils/download";
const message = useMessage() // 消息弹窗
const visible = ref(false);
const chartDomPlan = ref(null);
@@ -68,6 +70,7 @@
  start: undefined,
  end: undefined,
})
function getYMDHMS() {
  let timestamp = new Date().getTime();
  let time = new Date(timestamp - 1000 * 60 * 60 * 3);
@@ -104,6 +107,7 @@
    "00"
  );
}
/** 打开弹窗 */
const open = async (row: object) => {
  visible.value = true
@@ -121,7 +125,7 @@
  visible.value = true;
  if (dataForm.value.id) {
    try {
      queryParams.itemNos=[dataForm.value.itemNo];
      queryParams.itemNos = [dataForm.value.itemNo];
      queryParams.start = dataForm.value.startTime;
      queryParams.end = dataForm.value.endTime;
      const data = await ItemApi.getPlanChart(queryParams)
@@ -195,10 +199,11 @@
    }
  }
}
/** 导出按钮操作 */
const exportLoading = ref(false)
const handleExport = async () => {
  queryParams.itemNos=[dataForm.value.itemNo];
  queryParams.itemNo = dataForm.value.itemNo;
  queryParams.start = dataForm.value.startTime;
  queryParams.end = dataForm.value.endTime;
  try {
@@ -207,7 +212,7 @@
    // 发起导出
    exportLoading.value = true
    const data = await ItemApi.exportPlanValue(queryParams)
    download.excel(data, dataForm.value.itemName +'.xls')
    download.excel(data, '计划数据.xlsx')
  } catch {
  } finally {
    exportLoading.value = false
src/views/data/plan/item/ItemForm.vue
@@ -48,7 +48,8 @@
      <el-row>
        <el-col :span="12">
          <el-form-item label="数据集" prop="dataSet">
            <el-select v-model="formData.dataSet" clearable placeholder="请选择数据集" @change="handleDataSetChange($event)">
            <el-select v-model="formData.dataSet" clearable placeholder="请选择数据集"
                       @change="handleDataSetChange($event)">
              <el-option
                v-for="item in dataSetList"
                :key="item.id"
@@ -73,15 +74,15 @@
<script lang="ts" setup>
import {DICT_TYPE, getIntDictOptions, getStrDictOptions} from '@/utils/dict'
import * as ItemApi from '@/api/data/plan/item'
import { CommonStatusEnum } from '@/utils/constants'
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' })
defineOptions({name: 'PlanItemForm'})
const { t } = useI18n() // 国际化
const {t} = useI18n() // 国际化
const message = useMessage() // 消息弹窗
const dialogVisible = ref(false) // 弹窗的是否展示
@@ -99,9 +100,9 @@
  status: undefined,
})
const formRules = reactive({
  itemName: [{ required: true, message: '名称不能为空', trigger: 'blur' }],
  itemCategory: [{ required: true, message: '分类不能为空', trigger: 'blur' }],
  dataSet: [{ required: true, message: '数据集不能为空', trigger: 'change' }]
  itemName: [{required: true, message: '名称不能为空', trigger: 'blur'}],
  itemCategory: [{required: true, message: '分类不能为空', trigger: 'blur'}],
  dataSet: [{required: true, message: '数据集不能为空', trigger: 'change'}]
})
const formRef = ref() // 表单 Ref
const dataSetList = ref([] as DataSetApi.DataSetVO[])
@@ -110,7 +111,7 @@
const getCategoryTree = async () => {
  categoryTree.value = []
  const res = await CategoryApi.getCategoryListAllSimple()
  let category: Tree = { id: 0, label: '主类目', children: [] }
  let category: Tree = {id: 0, label: '主类目', children: []}
  category.children = handleTree(res, 'id', 'pid')
  categoryTree.value.push(category)
}
@@ -135,7 +136,7 @@
    }
  }
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
defineExpose({open}) // 提供 open 方法,用于打开弹窗
/** 提交表单 */
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调