Jelajahi Sumber

fix: 修复物联概览页面预警类型颜色的显示,修复bug列表中剩余验证失败的bug(6个)

yanglzh 1 tahun lalu
induk
melakukan
450ccc2581

+ 12 - 3
src/views/iot/iotmanager/dashboard.vue

@@ -200,6 +200,7 @@ export default defineComponent({
 			lineChartMsgTotalData: [],
 			lineChartAlarmTotalData: [],
 			pieChartLegend: [],
+			pieChartLevel: [],
 			pieChartData: []
 		});
 		// 折线图
@@ -302,11 +303,16 @@ export default defineComponent({
 			var getname = state.pieChartLegend;
 			var getvalue = state.pieChartData;
 			var data = [];
+
 			for (var i = 0; i < getname.length; i++) {
 				data.push({ name: getname[i], value: getvalue[i] });
 			}
+
 			const colorList = ['#FF0000', '#FEC279', '#968AF5', '#51A3FC', '#36C78B',];
+			const color = state.pieChartLevel.map(level => colorList[level - 1])
+
 			const option = {
+				color,
 				backgroundColor: state.charts.bgColor,
 				title: {
 					text: '预警类型',
@@ -360,9 +366,10 @@ export default defineComponent({
 						radius: ['70', '90'],
 						center: ['32%', '50%'],
 						itemStyle: {
-							color: function (params: any) {
-								return colorList[params.dataIndex];
-							},
+							// color: function (params: any) {
+							// 	console.log(params)
+							// 	return colorList[params.dataIndex];
+							// },
 						},
 						label: { show: false },
 						labelLine: { show: false },
@@ -429,9 +436,11 @@ export default defineComponent({
 				// "num": 43, //该级别日志数量
 				// "ratio": 100 //该级别日志数量占比(百分比)
 				state.pieChartLegend = [];
+				state.pieChartLevel = [];
 				alarmLevel && alarmLevel.map((item: any) => {
 					state.pieChartLegend.push(item.name)
 					state.pieChartData.push(item.ratio)
+					state.pieChartLevel.push(item.level)
 				})
 			})
 		};

+ 1 - 1
src/views/iot/ota-update/module/component/edit.vue

@@ -8,7 +8,7 @@
 					</el-select>
 				</el-form-item>
 				<el-form-item label="模块名称" prop="name">
-					<el-input v-model="ruleForm.name" placeholder="请输入模块名称" />
+					<el-input v-model.trim="ruleForm.name" placeholder="请输入模块名称" />
 				</el-form-item>
 				<el-form-item label="模块别名" prop="nameAs">
 					<el-input v-model.trim="ruleForm.nameAs" placeholder="请输入模块别名" />

+ 1 - 1
src/views/iot/ota-update/update/component/edit.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="ota-edit-module-container">
     <el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '升级包'" v-model="isShowDialog" width="769px">
-      <el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" label-width="160px">
+      <el-form :model="ruleForm" ref="formRef" :rules="rules" size="default" v-if="isShowDialog" label-width="160px">
         <el-form-item label="升级包类型" prop="typo">
           <el-radio-group v-model="ruleForm.typo">
             <el-radio label="1">整包</el-radio>

+ 6 - 6
src/views/iot/ota-update/update/index.vue

@@ -19,7 +19,7 @@
               </el-icon>
               查询
             </el-button>
-            <el-button size="default" @click="resetQuery(queryRef)">
+            <el-button size="default" @click="resetQuery">
               <el-icon>
                 <ele-Refresh />
               </el-icon>
@@ -136,7 +136,7 @@ export default defineComponent({
     const initTableData = () => {
       manageList();
     };
-    const getList = (pageNum: number) => {
+    const getList = (pageNum?: number) => {
       typeof pageNum === 'number' && (state.tableData.param.pageNum = pageNum)
       state.tableData.loading = true;
       api.manage
@@ -193,10 +193,10 @@ export default defineComponent({
           .catch(() => { });
     };
     /** 重置按钮操作 */
-    const resetQuery = (formEl: FormInstance | undefined) => {
-      if (!formEl) return;
-      formEl.resetFields();
-      getList();
+    const resetQuery = () => {
+      if (!queryRef.value) return;
+      queryRef.value.resetFields();
+      getList(1);
     };
     // 多选框选中数据
     const handleSelectionChange = (selection: TableDataRow[]) => {

+ 3 - 3
src/views/iot/scene/manage/component/sceneItem.vue

@@ -12,7 +12,7 @@
       </div>
       <div class="product flex flex-warp">
         <el-form-item label="产品:" prop="productKey">
-          <el-select v-model="item.productKey" filterable placeholder="请选择产品"
+          <el-select v-model="item.productKey" filterable clearable placeholder="请选择产品"
             @change="seletChange(index, item.productKey!)">
             <el-option v-for="it in sourceData" :key="it.key" :label="it.name" :value="it.key">
               <span style="float: left">{{ it.name }}</span>
@@ -21,7 +21,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="设备:" prop="deviceKey">
-          <el-select v-model="item.deviceKey" filterable placeholder="请选择设备" @change="EditPen(index)">
+          <el-select v-model="item.deviceKey" filterable clearable placeholder="请选择设备" @change="EditPen(index)">
             <el-option v-for="it in deviceListData" :key="it.key" :label="it.name" :value="it.key">
               <span style="float: left">{{ it.name }}</span>
               <span style="float: right; margin-left: 8px;font-size: 13px">{{ it.key }}</span>
@@ -29,7 +29,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="触发类型:" prop="triggerType">
-          <el-select v-model="item.triggerType" filterable placeholder="请选择触发类型"
+          <el-select v-model="item.triggerType" clearable filterable placeholder="请选择触发类型"
             @change="getSelectcolumns(index, item.triggerType!)">
             <el-option v-for="it in sourceTypeData" :key="it.key" :label="it.name" :value="it.key">
               <span style="float: left">{{ it.name }}</span>

+ 1 - 1
src/views/iot/scene/manage/index.vue

@@ -61,7 +61,7 @@
 			</el-table-column>
 			<el-table-column prop="description" label="场景描述" show-overflow-tooltip v-col="'description'"></el-table-column>
 
-			<el-table-column prop="createdAt" label="创建时间" align="center" v-col="'createdAt'"></el-table-column>
+			<el-table-column prop="createdAt" label="创建时间" width="160" align="center" v-col="'createdAt'"></el-table-column>
 			<el-table-column label="操作" width="200" align="center">
 				<template #default="scope">
 					<el-button size="small" text type="primary" v-if="!scope.row.folderName" @click="toDetail(scope.row.id)">详情</el-button>

+ 6 - 1
src/views/system/monitor/plugin/index.vue

@@ -38,7 +38,7 @@
 				<el-table-column label="说明" v-col="'description'" show-overflow-tooltip align="left" prop="description" />
 				<el-table-column label="作者" v-col="'author'" align="center" prop="author">
 					<template #default="scope">
-						{{JSON.parse(scope.row.author).join(" ")}}
+						{{ JSON.parse(scope.row.author).join(" ") }}
 					</template>
 				</el-table-column>
 				<el-table-column label="状态" v-col="'status'" align="center" prop="status" width="80">
@@ -92,6 +92,7 @@ const addOrEdit = (row?: any) => {
 		editFormRef.value.open(row)
 	} else {
 		uploadFile = null
+		let fileCache: any
 		// add
 		ElMessageBox({
 			title: '上传插件',
@@ -99,6 +100,7 @@ const addOrEdit = (row?: any) => {
 				type: 'file',
 				accept: '.zip',
 				onchange: function (file: any) {
+					fileCache = file
 					uploadFile = file.target.files[0]
 					// console.log(uploadFile)
 				},
@@ -122,6 +124,9 @@ const addOrEdit = (row?: any) => {
 							ElMessage.success('上传成功')
 							getList(1)
 							done()
+						}).catch(() => {
+							console.log(fileCache)
+							fileCache.target.value = null
 						}).finally(() => {
 							instance.confirmButtonLoading = false
 							instance.confirmButtonText = '上传'