From cfec18ca87063d77398711c2914695e8e7f6b2e6 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期一, 04 十一月 2024 17:35:49 +0800 Subject: [PATCH] 计划数据 --- src/views/data/plan/item/ItemChart.vue | 13 +++++++++---- src/views/data/plan/item/ItemForm.vue | 19 ++++++++++--------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/views/data/plan/item/ItemChart.vue b/src/views/data/plan/item/ItemChart.vue index bb6d993..d590f1b 100644 --- a/src/views/data/plan/item/ItemChart.vue +++ b/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 diff --git a/src/views/data/plan/item/ItemForm.vue b/src/views/data/plan/item/ItemForm.vue index 97257c2..358e5ff 100644 --- a/src/views/data/plan/item/ItemForm.vue +++ b/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 事件,用于操作成功后的回调 -- Gitblit v1.9.3