Jelajahi Sumber

修复部分代码

yanglzh 2 tahun lalu
induk
melakukan
8a2a74e41a

+ 16 - 16
src/router/route.ts

@@ -30,21 +30,21 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
 			isKeepAlive: true,
 		},
 		children: [
-			{
-				path: '/home',
-				name: 'home',
-				component: () => import('/@/views/home/index.vue'),
-				meta: {
-					title: 'message.router.home',
-					isLink: '',
-					isHide: false,
-					isKeepAlive: true,
-					isAffix: true,
-					isIframe: false,
-					roles: ['admin', 'common'],
-					icon: 'iconfont icon-shouye',
-				},
-			},
+			// {
+			// 	path: '/home',
+			// 	name: 'home',
+			// 	component: () => import('/@/views/home/index.vue'),
+			// 	meta: {
+			// 		title: 'message.router.home',
+			// 		isLink: '',
+			// 		isHide: false,
+			// 		isKeepAlive: true,
+			// 		isAffix: true,
+			// 		isIframe: false,
+			// 		roles: ['admin', 'common'],
+			// 		icon: 'iconfont icon-shouye',
+			// 	},
+			// },
 			{
 				path: '/personal',
 				name: 'personal',
@@ -90,7 +90,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
 	},
 ];
 
-export const demoRoutes:Array<RouteRecordRaw> = [
+export const demoRoutes: Array<RouteRecordRaw> = [
 	{
 		path: '/demo',
 		name: 'demo',

+ 121 - 124
src/views/heating/energyAnalysis/analysisReport/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="page-container">
     <el-card shadow="hover">
-			<!-- <el-checkbox-group v-model="checkList">
+      <!-- <el-checkbox-group v-model="checkList">
 				<el-checkbox label="一网供水温度" />
 				<el-checkbox label="一网回水温度" />
 				<el-checkbox label="一网供水压力" />
@@ -12,8 +12,8 @@
 				<el-checkbox label="二网回水压力" />
 			</el-checkbox-group> -->
 
-			<div style="height: 600px" ref="lineChartRef"></div>
-			<!-- <ChartDom :height="400" :option="lineChartOptions"/> -->
+      <div style="height: 600px" ref="lineChartRef"></div>
+      <!-- <ChartDom :height="400" :option="lineChartOptions"/> -->
     </el-card>
   </div>
 </template>
@@ -22,34 +22,32 @@
 import { ref, reactive, watch, nextTick, onMounted } from 'vue';
 import * as echarts from 'echarts';
 import { useStore } from '/@/store/index';
-import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
-import api from '/@/api/energyAnalysis';
 import heatApi from '/@/api/heatStation';
 import datahubApi from '/@/api/datahub';
 
 let global: any = {
-	lineChart: null,
-	dispose: [null, '', undefined],
+  lineChart: null,
+  dispose: [null, '', undefined],
 };
 
 const store = useStore();
 const state = reactive({
-	myCharts: [],
-	charts: {
-		theme: '',
-		bgColor: '',
-		color: '#303133',
-	},
-	heatList: [],
-	lineChartXAxis: [],
-	inPressure1: [],
-	inPressure2: [],
-	inTemperature1: [],
-	inTemperature2: [],
-	outPressure1: [],
-	outPressure2: [],
-	outTemperature1: [],
-	outTemperature2: [],
+  myCharts: [],
+  charts: {
+    theme: '',
+    bgColor: '',
+    color: '#303133',
+  },
+  heatList: [],
+  lineChartXAxis: [],
+  inPressure1: [],
+  inPressure2: [],
+  inTemperature1: [],
+  inTemperature2: [],
+  outPressure1: [],
+  outPressure2: [],
+  outTemperature1: [],
+  outTemperature2: [],
 })
 const lineChartRef = ref()
 const checkList = ref([])
@@ -57,131 +55,130 @@ const checkList = ref([])
 
 // 获取供热监测数据
 const getStatisticsChartData = () => {
-	datahubApi.statistics.getStatisticsChartData({tableNo:17}).then((res:any) => {
-		console.log(res)
-		const data = res.Info
-		// "huanLuNo": "D00140-4", //换热站编号
-		// "huanLuName": "8#楼高区", //换热站名称
-		// "inPressure1": 0, //一网供水压力
-		// "inPressure2": 0, //二网供水压力
-		// "inTemperature1": 0, //一网供水温度
-		// "inTemperature2": 0, //二网供水温度
-		// "outPressure1": 0, //一网回水压力
-		// "outPressure2": 0, //二网回水压力
-		// "outTemperature1": 0, //一网回水温度
-		// "outTemperature2": 0 //二网回水温度
-		state.inPressure1 = []
-		state.inPressure2 = []
-		state.inTemperature1 = []
-		state.inTemperature2 = []
-		state.outPressure1 = []
-		state.outPressure2 = []
-		state.outTemperature1 = []
-		state.outTemperature2 = []
+  datahubApi.statistics.getStatisticsChartData({ tableNo: 17 }).then((res: any) => {
+    console.log(res)
+    const data = res.Info
+    // "huanLuNo": "D00140-4", //换热站编号
+    // "huanLuName": "8#楼高区", //换热站名称
+    // "inPressure1": 0, //一网供水压力
+    // "inPressure2": 0, //二网供水压力
+    // "inTemperature1": 0, //一网供水温度
+    // "inTemperature2": 0, //二网供水温度
+    // "outPressure1": 0, //一网回水压力
+    // "outPressure2": 0, //二网回水压力
+    // "outTemperature1": 0, //一网回水温度
+    // "outTemperature2": 0 //二网回水温度
+    state.inPressure1 = []
+    state.inPressure2 = []
+    state.inTemperature1 = []
+    state.inTemperature2 = []
+    state.outPressure1 = []
+    state.outPressure2 = []
+    state.outTemperature1 = []
+    state.outTemperature2 = []
 
-		data.forEach((item: any) => {
-			state.lineChartXAxis.push(item.huanLuName);
-			state.inPressure1.push(item.inPressure1);
-			state.inPressure2.push(item.inPressure2);
-			state.inTemperature1.push(item.inTemperature1);
-			state.inTemperature2.push(item.inTemperature2);
-			state.outPressure1.push(item.outPressure1);
-			state.outPressure2.push(item.outPressure2);
-			state.outTemperature1.push(item.outTemperature1);
-			state.outTemperature2.push(item.outTemperature2);
-		});
+    data.forEach((item: any) => {
+      state.lineChartXAxis.push(item.huanLuName);
+      state.inPressure1.push(item.inPressure1);
+      state.inPressure2.push(item.inPressure2);
+      state.inTemperature1.push(item.inTemperature1);
+      state.inTemperature2.push(item.inTemperature2);
+      state.outPressure1.push(item.outPressure1);
+      state.outPressure2.push(item.outPressure2);
+      state.outTemperature1.push(item.outTemperature1);
+      state.outTemperature2.push(item.outTemperature2);
+    });
 
-		nextTick(() => {
-			initLineChart();
-		});
-	});
+    nextTick(() => {
+      initLineChart();
+    });
+  });
 };
 const queryTree = () => {
-	heatApi.heatStation.getList({
-		name: '',
-		code: '',
-		status: -1
-	})
-	.then((res: any) => {
-		state.heatList = res || [];
-	});
+  heatApi.heatStation.getList({
+    name: '',
+    code: '',
+    status: -1
+  })
+    .then((res: any) => {
+      state.heatList = res || [];
+    });
 };
 
 // 初始化图标
 const initLineChart = () => {
-	if (!global.dispose.some((b: any) => b === global.lineChart)) global.lineChart.dispose();
-	global.lineChart = <any>echarts.init(lineChartRef.value, state.charts.theme);
-	const option = {
-		backgroundColor: state.charts.bgColor,
-		grid: { top: 70, right: 20, bottom: 30, left: 30 },
-		tooltip: { trigger: 'axis' },
-		legend: {},
-		xAxis: {
-			data: state.lineChartXAxis,
-		},
-		yAxis: [
-			{
-				type: 'value',
-				name: '',
-				splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
-			},
-		],
-		series: [
-			{ name: '一网供水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inPressure1 },
-			{ name: '二网供水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inPressure2 },
-			{ name: '一网供水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inTemperature1 },
-			{ name: '二网供水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inTemperature2 },
-			{ name: '一网回水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outPressure1 },
-			{ name: '二网回水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outPressure2 },
-			{ name: '一网回水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outTemperature1 },
-			{ name: '二网回水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outTemperature2 }
-		]
-	};
-	(<any>global.lineChart).setOption(option);
-	(<any>state.myCharts).push(global.lineChart);
+  if (!global.dispose.some((b: any) => b === global.lineChart)) global.lineChart.dispose();
+  global.lineChart = <any>echarts.init(lineChartRef.value, state.charts.theme);
+  const option = {
+    backgroundColor: state.charts.bgColor,
+    grid: { top: 70, right: 20, bottom: 30, left: 30 },
+    tooltip: { trigger: 'axis' },
+    legend: {},
+    xAxis: {
+      data: state.lineChartXAxis,
+    },
+    yAxis: [
+      {
+        type: 'value',
+        name: '',
+        splitLine: { show: true, lineStyle: { type: 'dashed', color: '#f5f5f5' } },
+      },
+    ],
+    series: [
+      { name: '一网供水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inPressure1 },
+      { name: '二网供水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inPressure2 },
+      { name: '一网供水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inTemperature1 },
+      { name: '二网供水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.inTemperature2 },
+      { name: '一网回水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outPressure1 },
+      { name: '二网回水压力', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outPressure2 },
+      { name: '一网回水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outTemperature1 },
+      { name: '二网回水温度', type: 'line', symbolSize: 6, symbol: 'circle', smooth: true, data: state.outTemperature2 }
+    ]
+  };
+  (<any>global.lineChart).setOption(option);
+  (<any>state.myCharts).push(global.lineChart);
 }
 
 // 批量设置 echarts resize
 const initEchartsResizeFun = () => {
-	nextTick(() => {
-		for (let i = 0; i < state.myCharts.length; i++) {
-			setTimeout(() => {
-				(<any>state.myCharts[i]).resize();
-			}, i * 1000);
-		}
-	});
+  nextTick(() => {
+    for (let i = 0; i < state.myCharts.length; i++) {
+      setTimeout(() => {
+        (<any>state.myCharts[i]).resize();
+      }, i * 1000);
+    }
+  });
 };
 // 批量设置 echarts resize
 const initEchartsResize = () => {
-	window.addEventListener('resize', initEchartsResizeFun);
+  window.addEventListener('resize', initEchartsResizeFun);
 };
 // 页面加载时
 onMounted(() => {
-	// queryTree()
-	getStatisticsChartData()
-	initEchartsResize();
+  // queryTree()
+  getStatisticsChartData()
+  initEchartsResize();
 });
 
 // 监听 vuex 中是否开启深色主题
 watch(
-	() => store.state.themeConfig.themeConfig.isIsDark,
-	(isIsDark) => {
-		nextTick(() => {
-			state.charts.theme = isIsDark ? 'dark' : '';
-			state.charts.bgColor = isIsDark ? 'transparent' : '';
-			state.charts.color = isIsDark ? '#dadada' : '#303133';
-			// setTimeout(() => {
-			// 	initLineChart();
-			// }, 500);
-		});
-	},
-	{
-		deep: true,
-		immediate: true,
-	}
+  () => store.state.themeConfig.themeConfig.isIsDark,
+  (isIsDark) => {
+    nextTick(() => {
+      state.charts.theme = isIsDark ? 'dark' : '';
+      state.charts.bgColor = isIsDark ? 'transparent' : '';
+      state.charts.color = isIsDark ? '#dadada' : '#303133';
+      // setTimeout(() => {
+      // 	initLineChart();
+      // }, 500);
+    });
+  },
+  {
+    deep: true,
+    immediate: true,
+  }
 );
 </script>
 
 <style scoped lang="scss">
-
 </style>

+ 188 - 189
src/views/heating/monitor/loopSupervision/index.vue

@@ -1,76 +1,76 @@
 <template>
-	<div class="system-dic-container">
-		<el-card shadow="hover">
-			<div class="system-user-search mb15">
-				<el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
-					<el-form-item label="" prop="">
-						<el-radio-group v-model="radioValue" size="default">
-							<el-radio-button label="换热站" v-auth="'heatStation'"/>
-							<el-radio-button label="环路" v-auth="'loop'"/>
-						</el-radio-group>
-					</el-form-item>
-					<el-form-item label="环路名称" prop="name">
-						<el-select v-model="tableData.param.name" placeholder="环路名称" clearable size="default" style="width: 240px">
-							<el-option label="已发布" :value="1" />
-							<el-option label="未发布" :value="0" />
-						</el-select>
-					</el-form-item>
-					<el-form-item label="环路编号" prop="name">
-						<el-select v-model="tableData.param.name" placeholder="环路编号" clearable size="default" style="width: 240px">
-							<el-option label="已发布" :value="1" />
-							<el-option label="未发布" :value="0" />
-						</el-select>
-					</el-form-item>
-					<el-form-item>
-						<el-button size="default" type="primary" class="ml10" v-auth="'query'" @click="typeList">
-							<el-icon>
-								<ele-Search />
-							</el-icon>
-							查询
-						</el-button>
-						<el-button size="default" v-auth="'reset'" @click="resetQuery(queryRef)">
-							<el-icon>
-								<ele-Refresh />
-							</el-icon>
-							重置
-						</el-button>
-					</el-form-item>
-				</el-form>
-			</div>
-			<el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
-				<el-table-column type="index" width="55" label="序号" align="center" />
-				<el-table-column label="日期" v-col="'key'" prop="key" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column :label="radioValue === '换热站' ? '换热站' : '环路名称'" v-col="'name'" prop="name" :show-overflow-tooltip="true">
-					<template #default="{ row }">
-						<el-button type="text" @click="goPage(row)">
-							{{ radioValue === '换热站' ? '换热站' : '环路名称' }}
-						</el-button>
-					</template>
-				</el-table-column>
-				<el-table-column :label="radioValue === '换热站' ? '换热站编号' : '环路编号'" v-col="'number'" prop="number" min-width="120" :show-overflow-tooltip="true">
-					<template #default>
-						{{ radioValue === '换热站' ? '换热站编号' : '环路编号' }}
-					</template>
-				</el-table-column>
-				<el-table-column label="一网供水流量" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="一网供水压力" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="一网供水温度" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="一网回水流量" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="一网回水压力" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="一网回水温度" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="二网供水流量" prop="value" min-width="120" :show-overflow-tooltip="true" />
-				<el-table-column label="二网供水压力" prop="value" min-width="120" :show-overflow-tooltip="true" />
+  <div class="system-dic-container">
+    <el-card shadow="hover">
+      <div class="system-user-search mb15">
+        <el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
+          <el-form-item label="" prop="">
+            <el-radio-group v-model="radioValue" size="default">
+              <el-radio-button label="换热站" v-auth="'heatStation'" />
+              <el-radio-button label="环路" v-auth="'loop'" />
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="环路名称" prop="name">
+            <el-select v-model="tableData.param.name" placeholder="环路名称" clearable size="default" style="width: 240px">
+              <el-option label="已发布" :value="1" />
+              <el-option label="未发布" :value="0" />
+            </el-select>
+          </el-form-item>
+          <el-form-item label="环路编号" prop="name">
+            <el-select v-model="tableData.param.name" placeholder="环路编号" clearable size="default" style="width: 240px">
+              <el-option label="已发布" :value="1" />
+              <el-option label="未发布" :value="0" />
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button size="default" type="primary" class="ml10" v-auth="'query'" @click="typeList">
+              <el-icon>
+                <ele-Search />
+              </el-icon>
+              查询
+            </el-button>
+            <el-button size="default" v-auth="'reset'" @click="resetQuery(queryRef)">
+              <el-icon>
+                <ele-Refresh />
+              </el-icon>
+              重置
+            </el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+      <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
+        <el-table-column type="index" width="55" label="序号" align="center" />
+        <el-table-column label="日期" v-col="'key'" prop="key" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column :label="radioValue === '换热站' ? '换热站' : '环路名称'" v-col="'name'" prop="name" :show-overflow-tooltip="true">
+          <template #default="{ row }">
+            <el-button type="text" @click="goPage(row)">
+              {{ radioValue === '换热站' ? '换热站' : '环路名称' }}
+            </el-button>
+          </template>
+        </el-table-column>
+        <el-table-column :label="radioValue === '换热站' ? '换热站编号' : '环路编号'" v-col="'number'" prop="number" min-width="120" :show-overflow-tooltip="true">
+          <template #default>
+            {{ radioValue === '换热站' ? '换热站编号' : '环路编号' }}
+          </template>
+        </el-table-column>
+        <el-table-column label="一网供水流量" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="一网供水压力" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="一网供水温度" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="一网回水流量" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="一网回水压力" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="一网回水温度" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="二网供水流量" prop="value" min-width="120" :show-overflow-tooltip="true" />
+        <el-table-column label="二网供水压力" prop="value" min-width="120" :show-overflow-tooltip="true" />
 
-				<!-- <el-table-column prop="status" label="状态" width="100" align="center">
+        <!-- <el-table-column prop="status" label="状态" width="100" align="center">
           <template #default="scope">
             <el-tag type="success" size="small" v-if="scope.row.status">已发布</el-tag>
             <el-tag type="info" size="small" v-else>未发布</el-tag>
           </template>
         </el-table-column> -->
-			</el-table>
-			<pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
-		</el-card>
-	</div>
+      </el-table>
+      <pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
+    </el-card>
+  </div>
 </template>
 
 <script lang="ts">
@@ -82,134 +82,133 @@ import { useRouter } from 'vue-router';
 
 // 定义接口来定义对象的类型
 interface TableDataRow {
-	id: number;
-	name: string;
-	deviceType: string;
-	status: number;
-	desc: string;
-	createBy: string;
+  id: number;
+  name: string;
+  deviceType: string;
+  status: number;
+  desc: string;
+  createBy: string;
 }
 interface TableDataState {
-	ids: number[];
-	tableData: {
-		data: Array<TableDataRow>;
-		total: number;
-		loading: boolean;
-		param: {
-			pageNum: number;
-			pageSize: number;
-			name: string;
-			deviceType: string;
-			status: string;
-			dateRange: string[];
-		};
-	};
+  ids: number[];
+  tableData: {
+    data: Array<TableDataRow>;
+    total: number;
+    loading: boolean;
+    param: {
+      pageNum: number;
+      pageSize: number;
+      name: string;
+      deviceType: string;
+      status: string;
+      dateRange: string[];
+    };
+  };
 }
 
 export default defineComponent({
-	name: 'deviceproduct',
-	setup() {
-		const addDicRef = ref();
-		const editDicRef = ref();
-		const queryRef = ref();
-		const router = useRouter()
-		const state = reactive({
-			radioValue: '换热站',
-			ids: [],
-			tableData: {
-				data: [{ name: '换热站', key: '2022-10-25', value: 1 }],
-				total: 0,
-				loading: false,
-				param: {
-					pageNum: 1,
-					pageSize: 10,
-					status: '',
-					dateRange: [],
-				},
-			},
-		});
-		// 初始化表格数据
-		const initTableData = () => {
-			typeList();
-		};
-		const typeList = () => {
-			state.tableData.loading = true;
-			api.product.getList(state.tableData.param).then((res: any) => {
-				console.log(res);
-				state.tableData.data = res.product;
-				state.tableData.total = res.total;
-			}).finally(() => (state.tableData.loading = false));
-		};
-		// 打开新增产品弹窗
-		const onOpenAddDic = () => {
-			editDicRef.value.openDialog();
-		};
-		// 打开修改产品弹窗
-		const onOpenEditDic = (row: TableDataRow) => {
-			editDicRef.value.openDialog(row);
-		};
-		// 删除产品
-		const onRowDel = (row: TableDataRow) => {
-			let msg = '你确定要删除所选数据?';
-			let ids: number[] = [];
-			if (row) {
-				msg = `此操作将永久删除产品:“${row.name}”,是否继续?`;
-				ids = [row.id];
-			} else {
-				ids = state.ids;
-			}
-			if (ids.length === 0) {
-				ElMessage.error('请选择要删除的数据。');
-				return;
-			}
-			ElMessageBox.confirm(msg, '提示', {
-				confirmButtonText: '确认',
-				cancelButtonText: '取消',
-				type: 'warning',
-			})
-				.then(() => {
-					api.product.delete(ids).then(() => {
-						ElMessage.success('删除成功');
-						typeList();
-					});
-				})
-				.catch(() => { });
-		};
-		// 页面加载时
-		onMounted(() => {
-			// initTableData();
-		});
-		/** 重置按钮操作 */
-		const resetQuery = (formEl: FormInstance | undefined) => {
-			if (!formEl) return;
-			formEl.resetFields();
-			typeList();
-		};
-		// 多选框选中数据
-		const handleSelectionChange = (selection: TableDataRow[]) => {
-			// state.ids = selection.map((item) => item.id);
-		};
+  name: 'deviceproduct',
+  setup() {
+    const addDicRef = ref();
+    const editDicRef = ref();
+    const queryRef = ref();
+    const router = useRouter()
+    const state = reactive({
+      radioValue: '换热站',
+      ids: [],
+      tableData: {
+        data: [{ name: '换热站', key: '2022-10-25', value: 1 }],
+        total: 0,
+        loading: false,
+        param: {
+          pageNum: 1,
+          pageSize: 10,
+          status: '',
+          dateRange: [],
+        },
+      },
+    });
+    // 初始化表格数据
+    const initTableData = () => {
+      typeList();
+    };
+    const typeList = () => {
+      state.tableData.loading = true;
+      api.product.getList(state.tableData.param).then((res: any) => {
+        state.tableData.data = res.product;
+        state.tableData.total = res.total;
+      }).finally(() => (state.tableData.loading = false));
+    };
+    // 打开新增产品弹窗
+    const onOpenAddDic = () => {
+      editDicRef.value.openDialog();
+    };
+    // 打开修改产品弹窗
+    const onOpenEditDic = (row: TableDataRow) => {
+      editDicRef.value.openDialog(row);
+    };
+    // 删除产品
+    const onRowDel = (row: TableDataRow) => {
+      let msg = '你确定要删除所选数据?';
+      let ids: number[] = [];
+      if (row) {
+        msg = `此操作将永久删除产品:“${row.name}”,是否继续?`;
+        ids = [row.id];
+      } else {
+        ids = state.ids;
+      }
+      if (ids.length === 0) {
+        ElMessage.error('请选择要删除的数据。');
+        return;
+      }
+      ElMessageBox.confirm(msg, '提示', {
+        confirmButtonText: '确认',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          api.product.delete(ids).then(() => {
+            ElMessage.success('删除成功');
+            typeList();
+          });
+        })
+        .catch(() => { });
+    };
+    // 页面加载时
+    onMounted(() => {
+      // initTableData();
+    });
+    /** 重置按钮操作 */
+    const resetQuery = (formEl: FormInstance | undefined) => {
+      if (!formEl) return;
+      formEl.resetFields();
+      typeList();
+    };
+    // 多选框选中数据
+    const handleSelectionChange = (selection: TableDataRow[]) => {
+      // state.ids = selection.map((item) => item.id);
+    };
 
-		const goPage = (row: TableDataRow) => {
-			if (state.radioValue === '换热站') {
-				router.push('/heating/monitor/loopSupervision/list/heatStationDetail')
-			} else {
-				router.push('/heating/monitor/loopSupervision/list/loopDetail')
-			}
-		}
-		return {
-			addDicRef,
-			editDicRef,
-			queryRef,
-			onOpenAddDic,
-			onOpenEditDic,
-			onRowDel,
-			typeList,
-			resetQuery,
-			handleSelectionChange,
-			...toRefs(state),
-			goPage
-		};
-	},
+    const goPage = (row: TableDataRow) => {
+      if (state.radioValue === '换热站') {
+        router.push('/heating/monitor/loopSupervision/list/heatStationDetail')
+      } else {
+        router.push('/heating/monitor/loopSupervision/list/loopDetail')
+      }
+    }
+    return {
+      addDicRef,
+      editDicRef,
+      queryRef,
+      onOpenAddDic,
+      onOpenEditDic,
+      onRowDel,
+      typeList,
+      resetQuery,
+      handleSelectionChange,
+      ...toRefs(state),
+      goPage
+    };
+  },
 });
 </script>

+ 1 - 1
src/views/home/index.vue

@@ -3,5 +3,5 @@
 </template>
 
 <script lang="ts" setup>
-import homeVue from '/@/views/iot/home/index.vue';
+import homeVue from '/@/views/heating/home/index.vue';
 </script>

File diff ditekan karena terlalu besar
+ 0 - 392
src/views/iot/home/index.vue


Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini