소스 검색

feat: 报警调整

whh 10 달 전
부모
커밋
4fde738c88

+ 12 - 6
src/assets/styles/github-markdown.scss

@@ -289,12 +289,18 @@ html {
 }
 
 .markdown-body table {
-  border-spacing: 0;
-  border-collapse: collapse;
-  display: block;
-  width: max-content;
-  max-width: 100%;
-  overflow: auto;
+  table-layout: fixed;
+  width: 100%;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  text-align: center;
+  font-size: 12px;
+  // border-spacing: 0;
+  // border-collapse: collapse;
+  // display: block;
+  // max-width: 100%;
+  // overflow: auto;
 }
 
 .markdown-body td,

+ 1 - 1
src/components/Chat/ChatText.vue

@@ -71,7 +71,7 @@ const text = computed(() => {
   }
 
   table {
-    font-size: 10px;
+    /* font-size: 10px; */
 
     thead {
       strong {

+ 1 - 1
src/components/Layout/TheUserAvatar.vue

@@ -74,7 +74,7 @@ const RenderUserAvatar = ({ store }) => {
   return (
     <NPopover 
       v-slots={ slots }
-      trigger="click"
+      trigger="hover"
       raw={ true }
       show-arrow={ false }
       style="box-shadow: 0px 10px 31px 0px #B1B6B933"

+ 2 - 2
src/components/RecodeSquareCardItem/index.vue

@@ -2,7 +2,7 @@
 import { ref, computed } from 'vue';
 import { NEllipsis } from "naive-ui";
 import { BaseButton, SvgIcon } from '@/components';
-import { truncateToTwoDecimalPlaces } from '@/utils/format';
+import { truncateDecimals } from '@/utils/format';
 
 const props = defineProps({
   item: {
@@ -60,7 +60,7 @@ const dataSources = computed(() => {
   if (item.type == 0) {
     return [
       { label: '报警时间', value: item.time },
-      { label: '报警值',   value: truncateToTwoDecimalPlaces(item.warningVal), type: 'wraning' },
+      { label: '报警值',   value: truncateDecimals(item.warningVal), type: 'wraning' },
       { label: '报警级别', value: item.level },
       { label: '报警次数', value: item.counts },
     ]

+ 4 - 4
src/utils/format.js

@@ -7,8 +7,8 @@ export const format = {
     const title = dataSource.title || dataSource['进水SS超标报警'];
     const list = rule.map(item => {
       Object.keys(dataSource).forEach(key => {
-        if (item.label === key) {
-          item.value = dataSource[key] + item.value
+        if (item.realKey === key) {
+          item.value = (isNaN(dataSource[key]) ? dataSource[key]  : truncateDecimals(dataSource[key])) + item.value
         }
       })
       return item;
@@ -18,6 +18,6 @@ export const format = {
   }
 }
 
-export const truncateToTwoDecimalPlaces = num => {
-  return (Math.floor(num * 100) / 100).toFixed(2);
+export const truncateDecimals = num => {
+  return Number((Math.floor(num * 100) / 100).toFixed(2));
 }

+ 13 - 13
src/views/analyse/PymolView.vue

@@ -5,7 +5,7 @@ import { NTabs, NTab } from 'naive-ui';
 import { useChatStore } from '@/stores/modules/chatStore';
 import { BaseTable, ChatWelcome, RecodeSquareCardItem, TheSubMenu, TheChatView } from "@/components";
 import { ChatBaseCard, ChatAnswer } from '@/components/Chat';
-import { format } from "@/utils/format";
+import { format, truncateDecimals } from "@/utils/format";
 import { waterApi } from '@/api/water';
 import {useInfinite, useRecommend, useScroll} from '@/composables'
 
@@ -26,7 +26,7 @@ const csTableData = ref([]);
 const renderRowDom = ({ row, key }) => {
   const { exceed, value } = row[key] || {};
   const cls = exceed ? 'text-[#F44C49] font-bold' : 'text-[1A2029]'
-  return (<span class={cls}>{value} {exceed && <i>↑</i>}</span>)
+  return (<span class={cls}>{truncateDecimals(value)} {exceed && <i>↑</i>}</span>)
 }
 
 const columns = [
@@ -67,7 +67,7 @@ const columns = [
     render: (row) => renderRowDom({ row, key: 'NH3-N' })
   },
   {
-    title: '总磷TP(mg/L)',
+    title: 'TP(mg/L)',
     key: 'COD',
     titleAlign: 'center',
     align: 'center',
@@ -98,13 +98,15 @@ const handleOpenContent = async ({ id, category }) => {
   const { data } = await waterApi.getWaringDetails(id);
   const showVal = JSON.parse(data.showVal);
   const { basic, jsData, csData } = showVal;
+  console.log( jsData );
   const textWhiteList = [
-    { label: '报警时间', value: '', isWarning: false },
-    { label: '报警值', value: 'mg/L', isWarning: true },
-    { label: '管控值', value: 'mg/L', isWarning: false },
-    { label: '标准值', value: 'mg/L', isWarning: false },
-    { label: '报警次数', value: '', isWarning: false },
-    { label: '状态', value: '', isWarning: false }
+    { label: '报警时间', realKey: '报警时间', value: '', isWarning: false },
+    { label: '报警值',   realKey: '报警值', value: 'mg/L', isWarning: true },
+    { label: '管控值',   realKey: '管控值', value: 'mg/L', isWarning: false },
+    { label: '标准值',   realKey: '标准值', value: 'mg/L', isWarning: false },
+    // { label: '报警级别', realKey: '告警级别', value: '', isWarning: false },
+    { label: '报警次数', realKey: '报警次数', value: '', isWarning: false },
+    { label: '状态',     realKey: '状态', value: '', isWarning: false }
   ]
 
   answerResult.value = data.answer;
@@ -115,7 +117,6 @@ const handleOpenContent = async ({ id, category }) => {
   csTableData.value = [csData];
 
   scrollToTop();
-
 }
 
 // 欢迎 - 问答
@@ -158,9 +159,8 @@ const handleWelcomeRecommend = question => {
       <ChatBaseCard v-if="textDataSources">
         <div class="waring-answer-wrapper">
           <dl class="message-inner warning-info_medium ">
-            <dt class="mb-[2px] font-bold text-[#1A2029]">{{ textDataSources?.value }}</dt>
-            <dd v-for="item, index in textDataSources?.list" :key="index"><span
-                :class="{ 'text-[#F44C49]': item.isWarning }">{{ item.label }}: {{ item.value }}</span></dd>
+            <dt class="mb-[2px] font-bold text-[#1A2029]">{{ textDataSources?.title }}</dt>
+            <dd v-for="item, index in textDataSources?.list" :key="index"><span :class="{'text-[#F44C49]': item.isWarning}">{{ item.label }}: {{ item.value }}</span></dd>
           </dl>
           <div class="table-inner">
             <div class="warning-table mb-[8px]">

+ 11 - 11
src/views/analyse/WaterView.vue

@@ -6,7 +6,7 @@ import { useChatStore } from '@/stores/modules/chatStore';
 import { BaseTable, ChatWelcome, RecodeSquareCardItem, TheSubMenu, TheChatView } from "@/components";
 import { ChatBaseCard, ChatAnswer } from '@/components/Chat';
 
-import { format, truncateToTwoDecimalPlaces } from "@/utils/format";
+import { format, truncateDecimals } from "@/utils/format";
 
 import { waterApi } from '@/api/water';
 import { CustomModal } from "./components";
@@ -46,7 +46,7 @@ const visible = ref(false);
 const renderRowDom = ({ row, key }) => {
   const { exceed, value } = row[key] || {};
   const cls = exceed ? 'text-[#F44C49] font-bold' : 'text-[1A2029]'
-  return (<span class={ cls }>{truncateToTwoDecimalPlaces(value)} {exceed && <i>↑</i>}</span>)
+  return (<span class={ cls }>{truncateDecimals(value)} {exceed && <i>↑</i>}</span>)
 } 
 
 const columns = [
@@ -144,13 +144,13 @@ const handleOpenContent = async ({ id, category }) => {
   console.log( answerObjItem.biz );
 
   const textWhiteList = [
-    { label: '报警时间', value: '', isWarning: false },
-    { label: '报警值',   value: 'mg/L', isWarning: true },
-    { label: '管控值',   value: 'mg/L', isWarning: false },
-    { label: '标准值',   value: 'mg/L', isWarning: false },
-    { label: '报警级别', value: '', isWarning: false },
-    { label: '报警次数', value: '', isWarning: false },
-    { label: '状态',     value: '', isWarning: false }
+    { label: '报警时间', realKey: '报警时间', value: '', isWarning: false },
+    { label: '报警值',   realKey: '报警值', value: 'mg/L', isWarning: true },
+    { label: '管控值',   realKey: '管控值', value: 'mg/L', isWarning: false },
+    { label: '标准值',   realKey: '标准值', value: 'mg/L', isWarning: false },
+    { label: '报警级别', realKey: '告警级别', value: '', isWarning: false },
+    { label: '报警次数', realKey: '报警次数', value: '', isWarning: false },
+    { label: '状态',     realKey: '状态', value: '', isWarning: false }
   ]
 
   if ( answerObjItem.biz === "DECISION_REPORT" ) {
@@ -182,8 +182,8 @@ const handleOpenContent = async ({ id, category }) => {
       list: parseAnswer?.message
     })
   }
-
   textDataSources.value = format.textSorting(basic, textWhiteList);
+  console.log( "textDataSources", textDataSources );
 
   jsTableData.value = [jsData];
   csTableData.value = [csData];
@@ -336,7 +336,7 @@ const handleWelcomeRecommend = question => {
       <ChatBaseCard v-if="textDataSources">
         <div class="waring-answer-wrapper">
           <dl class="message-inner warning-info_medium ">
-            <dt class="mb-[2px] font-bold text-[#1A2029]">{{ textDataSources?.value }}</dt>
+            <dt class="mb-[2px] font-bold text-[#1A2029]">{{ textDataSources?.title }}</dt>
             <dd v-for="item, index in textDataSources?.list" :key="index"><span :class="{'text-[#F44C49]': item.isWarning}">{{ item.label }}: {{ item.value }}</span></dd>
           </dl>
           <div class="table-inner">