Forráskód Böngészése

1. 解决设备管理预警设备分页功能失效的bug
2. 修改风门预警历史表头类型

hongrunxia 8 hónapja
szülő
commit
f0244423a8

+ 22 - 0
src/views/vent/comment/EditRowTable.vue

@@ -36,6 +36,10 @@
       list: {
       list: {
         type: Function,
         type: Function,
       },
       },
+      params: {
+        type: Object as PropType<Recordable>,
+        default: () => ({}),
+      },
       isAdd: {
       isAdd: {
         type: Boolean,
         type: Boolean,
       },
       },
@@ -68,6 +72,12 @@
             rowSelection: !props.isRadio ? undefined : { type: 'radio', onChange: rowChange },
             rowSelection: !props.isRadio ? undefined : { type: 'radio', onChange: rowChange },
             tableSetting: { fullScreen: true },
             tableSetting: { fullScreen: true },
             scroll: tableScroll,
             scroll: tableScroll,
+            pagination: {
+              current: 1,
+              pageSize: 10,
+              pageSizeOptions: ['10', '30', '50', '100', '500'],
+              showQuickJumper: false,
+            },
             formConfig: {
             formConfig: {
               labelWidth: 120,
               labelWidth: 120,
               schemas: props.searchFormSchema,
               schemas: props.searchFormSchema,
@@ -79,6 +89,9 @@
               dataIndex: 'action',
               dataIndex: 'action',
               slots: { customRender: 'action' },
               slots: { customRender: 'action' },
             },
             },
+            beforeFetch(params) {
+              return { ...params, ...props.params };
+            },
           })
           })
         : useTable({
         : useTable({
             title: '',
             title: '',
@@ -88,6 +101,12 @@
             columns: props.columns as BasicColumn[],
             columns: props.columns as BasicColumn[],
             showIndexColumn: false,
             showIndexColumn: false,
             showTableSetting: false,
             showTableSetting: false,
+            pagination: {
+              current: 1,
+              pageSize: 10,
+              pageSizeOptions: ['10', '30', '50', '100', '500'],
+              showQuickJumper: false,
+            },
             scroll: tableScroll,
             scroll: tableScroll,
             rowSelection: !props.isRadio ? undefined : { type: 'radio', onChange: rowChange },
             rowSelection: !props.isRadio ? undefined : { type: 'radio', onChange: rowChange },
             tableSetting: { fullScreen: true },
             tableSetting: { fullScreen: true },
@@ -97,6 +116,9 @@
               dataIndex: 'action',
               dataIndex: 'action',
               slots: { customRender: 'action' },
               slots: { customRender: 'action' },
             },
             },
+            beforeFetch(params) {
+              return { ...params, ...props.params };
+            },
           });
           });
 
 
       function rowChange(e) {
       function rowChange(e) {

+ 2 - 1
src/views/vent/deviceManager/comment/DeviceModal.vue

@@ -56,7 +56,8 @@
       <a-tab-pane key="7" tab="摄像头配置"
       <a-tab-pane key="7" tab="摄像头配置"
         ><EditRowTable
         ><EditRowTable
           :columns="cameraColumns"
           :columns="cameraColumns"
-          :list="cameraList.bind(null, { deviceid: deviceData.id })"
+          :list="cameraList"
+          :params="{ deviceid: deviceData.id }"
           @saveOrUpdate="saveCameraData"
           @saveOrUpdate="saveCameraData"
           @deleteById="deleteCameraById"
           @deleteById="deleteCameraById"
           :isAdd="true"
           :isAdd="true"

+ 6 - 4
src/views/vent/deviceManager/comment/warningTabel/index.vue

@@ -3,13 +3,14 @@
     <EditRowTableVue
     <EditRowTableVue
       v-if="refreshParent"
       v-if="refreshParent"
       :columns="warningColumns"
       :columns="warningColumns"
-      :list="list.bind(null, { deviceid: deviceId })"
+      :list="list"
+      :params="{ deviceid: deviceId }"
       @save-or-update="saveOrUpdateParent"
       @save-or-update="saveOrUpdateParent"
       @delete-by-id="parentDeleteById"
       @delete-by-id="parentDeleteById"
       @row-change="changeParentRow"
       @row-change="changeParentRow"
       :isAdd="true"
       :isAdd="true"
       :isRadio="true"
       :isRadio="true"
-      :scroll="{y: 200}"
+      :scroll="{ y: 200 }"
     >
     >
       <template #filterCell="{ column, record }">
       <template #filterCell="{ column, record }">
         <template v-if="record.editable && column.dataIndex === 'monitorcode'">
         <template v-if="record.editable && column.dataIndex === 'monitorcode'">
@@ -30,12 +31,13 @@
         </template>
         </template>
       </template>
       </template>
     </EditRowTableVue>
     </EditRowTableVue>
-    <div style="color: #efefef; margin-top: 8px;">注: 请先选中监测参数才能添加报警等级</div>
+    <div style="color: #efefef; margin-top: 8px">注: 请先选中监测参数才能添加报警等级</div>
     <EditRowTableVue
     <EditRowTableVue
       v-if="refresh && warningProId !== ''"
       v-if="refresh && warningProId !== ''"
       ref="RefChildComponent"
       ref="RefChildComponent"
       :columns="levelColumns"
       :columns="levelColumns"
-      :list="limitList.bind(null, { limitid: warningProId })"
+      :list="limitList"
+      :params="{ limitid: warningProId }"
       @save-or-update="saveOrUpdateChild"
       @save-or-update="saveOrUpdateChild"
       @delete-by-id="childDeleteById"
       @delete-by-id="childDeleteById"
       :isAdd="true"
       :isAdd="true"

+ 53 - 58
src/views/vent/deviceManager/comment/warningTabel/index2.vue

@@ -6,83 +6,78 @@
       </template>
       </template>
       <template #action="{ record }">
       <template #action="{ record }">
         <a class="table-action-link" @click="openModalFn(record)">编辑</a>
         <a class="table-action-link" @click="openModalFn(record)">编辑</a>
-        <a-popconfirm
-          title="确定删除?"
-          @confirm="handleDelete(record)"
-        >
+        <a-popconfirm title="确定删除?" @confirm="handleDelete(record)">
           <a class="table-action-link">删除</a>
           <a class="table-action-link">删除</a>
         </a-popconfirm>
         </a-popconfirm>
       </template>
       </template>
     </BasicTable>
     </BasicTable>
-    <BaseModal @register="register" @add="onSubmit" @update="onSubmit" :form-schemas="workFaceWarningFormSchemas" > </BaseModal>
+    <BaseModal @register="register" @add="onSubmit" @update="onSubmit" :form-schemas="workFaceWarningFormSchemas" />
   </div>
   </div>
 </template>
 </template>
 
 
 <script lang="ts" name="system-user" setup>
 <script lang="ts" name="system-user" setup>
-import { BasicTable, TableAction } from '/@/components/Table';
-import { useListPage } from '/@/hooks/system/useListPage';
-import BaseModal from './BaseModal1.vue' 
-import { useModal } from '/@/components/Modal';
-import { workFaceWarningColumns, workFaceWarningFormSchemas } from './warning.data'
-import { warningLogList, warningLogAdd, warningLogEdit, warningLogDeleteById } from './warning.api'
+  import { BasicTable, TableAction } from '/@/components/Table';
+  import { useListPage } from '/@/hooks/system/useListPage';
+  import BaseModal from './BaseModal1.vue';
+  import { useModal } from '/@/components/Modal';
+  import { workFaceWarningColumns, workFaceWarningFormSchemas } from './warning.data';
+  import { warningLogList, warningLogAdd, warningLogEdit, warningLogDeleteById } from './warning.api';
 
 
-const props = defineProps({
-  deviceId: { type: String },
-});
+  const props = defineProps({
+    deviceId: { type: String },
+  });
 
 
-const { tableContext } = useListPage({
-  tableProps: {
-    api: warningLogList.bind(null, { sysId: props.deviceId }),
-    scroll: { y: 390 },
-    size: 'small',
-    // expandRowByClick: true,
-    clickToRowSelect: true,
-    useSearchForm: false,
-    rowSelection: {
-      columnWidth: 20,
+  const { tableContext } = useListPage({
+    tableProps: {
+      api: warningLogList.bind(null, { sysId: props.deviceId }),
+      scroll: { y: 390 },
+      size: 'small',
+      // expandRowByClick: true,
+      clickToRowSelect: true,
+      useSearchForm: false,
+      rowSelection: {
+        columnWidth: 20,
+      },
+      showTableSetting: false,
+      formConfig: {
+        disabled: true,
+        showResetButton: false,
+        showSubmitButton: false,
+      },
     },
     },
-    showTableSetting: false,
-    formConfig: {
-      disabled: true,
-      showResetButton: false,
-      showSubmitButton: false,
-    },
-  },
-});
-const [registerTable, { reload }] = tableContext;
-
-const [register, { openModal, closeModal }] = useModal()
+  });
+  const [registerTable, { reload }] = tableContext;
 
 
+  const [register, { openModal, closeModal }] = useModal();
 
 
-function openModalFn(record?) {
-  if(record){
-    openModal(true, {
-      isUpdate: true,
-      record
-    })
-  }else{
-    openModal(true, {
-      isUpdate: false
-    })
-  } 
-}
+  function openModalFn(record?) {
+    if (record) {
+      openModal(true, {
+        isUpdate: true,
+        record,
+      });
+    } else {
+      openModal(true, {
+        isUpdate: false,
+      });
+    }
+  }
 
 
-async function handleDelete(record) {
-  await warningLogDeleteById(record.id)
-}
+  async function handleDelete(record) {
+    await warningLogDeleteById(record.id);
+  }
 
 
-async function onSubmit(flag, values) {
-  // 提交数据弹窗
+  async function onSubmit(flag, values) {
+    // 提交数据弹窗
     if (flag == 'update') {
     if (flag == 'update') {
-      await warningLogEdit(values)
+      await warningLogEdit(values);
     } else {
     } else {
-      await warningLogAdd({...values, sysId: props.deviceId })
+      await warningLogAdd({ ...values, sysId: props.deviceId });
     }
     }
     closeModal();
     closeModal();
     //刷新列表
     //刷新列表
-    reload()
-}
-
+    reload();
+  }
 </script>
 </script>
 
 
-<style scoped></style>
+<style scoped></style>

+ 76 - 81
src/views/vent/deviceManager/comment/warningTabel/index3.vue

@@ -20,191 +20,188 @@
       </a-table>
       </a-table>
     </div>
     </div>
   </div>
   </div>
-  <BaseModal @register="register" @add="onSubmit" @update="onSubmit" :form-schemas="formSchemas" > </BaseModal>
-  
+  <BaseModal @register="register" @add="onSubmit" @update="onSubmit" :form-schemas="formSchemas" />
 </template>
 </template>
 
 
 <script lang="ts" setup>
 <script lang="ts" setup>
-  import { ref, onMounted } from 'vue'
-  import { rowOrColSpanMap, MonitorColumns, monitorWarningFormSchemas } from './warning.data'
-  import { warningLogList, workFaceWarningList, workFaceWarningAdd, workFaceWarningEdit, workFaceWarningDelete  } from './warning.api';
-  import BaseModal from './BaseModal.vue'
+  import { ref, onMounted } from 'vue';
+  import { rowOrColSpanMap, MonitorColumns, monitorWarningFormSchemas } from './warning.data';
+  import { warningLogList, workFaceWarningList, workFaceWarningAdd, workFaceWarningEdit, workFaceWarningDelete } from './warning.api';
+  import BaseModal from './BaseModal.vue';
   import { useModal } from '/@/components/Modal';
   import { useModal } from '/@/components/Modal';
   import { message } from 'ant-design-vue';
   import { message } from 'ant-design-vue';
- 
-  const emit = defineEmits(['register'])
-  
+
+  const emit = defineEmits(['register']);
+
   const props = defineProps({
   const props = defineProps({
     deviceId: { type: String },
     deviceId: { type: String },
   });
   });
 
 
-  const show = ref(false)
-  const formSchemas = monitorWarningFormSchemas({ id: props.deviceId })
-  const activeID = ref('')
-  const warningList = ref<{ id: string, alarmName: string }[]>([])
-  const dataSource = ref<any[]>([])
+  const show = ref(false);
+  const formSchemas = monitorWarningFormSchemas({ id: props.deviceId });
+  const activeID = ref('');
+  const warningList = ref<{ id: string; alarmName: string }[]>([]);
+  const dataSource = ref<any[]>([]);
 
 
   function selectWarning(id) {
   function selectWarning(id) {
-    activeID.value = id
+    activeID.value = id;
   }
   }
 
 
   async function getWarningList() {
   async function getWarningList() {
-    const result = await warningLogList({ sysId: props.deviceId, pageSize: 100000  }) //id: props.deviceId
-    warningList.value = result.records
+    const result = await warningLogList({ sysId: props.deviceId, pageSize: 100000 }); //id: props.deviceId
+    warningList.value = result.records;
 
 
-    activeID.value = warningList.value[0]['id']
+    activeID.value = warningList.value[0]['id'];
   }
   }
 
 
   async function getDataSource() {
   async function getDataSource() {
-    show.value = false
-    rowOrColSpanMap.clear()
-    const result = await workFaceWarningList({ sysId: props.deviceId, monitorType: 2, alarmId: activeID.value, pageSize: 100000 })
-    let flag = 0
-    let groupNum = 0
-    let resultDataSource:any[] = []
+    show.value = false;
+    rowOrColSpanMap.clear();
+    const result = await workFaceWarningList({ sysId: props.deviceId, monitorType: 2, alarmId: activeID.value, pageSize: 100000 });
+    let flag = 0;
+    let groupNum = 0;
+    let resultDataSource: any[] = [];
     const value1 = [
     const value1 = [
       {
       {
         code: 'key',
         code: 'key',
         rowSpan: 0,
         rowSpan: 0,
-        colSpan: 1
+        colSpan: 1,
       },
       },
       {
       {
         code: 'alarmName',
         code: 'alarmName',
         rowSpan: 0,
         rowSpan: 0,
-        colSpan: 1
+        colSpan: 1,
       },
       },
       {
       {
         code: 'operation1',
         code: 'operation1',
         rowSpan: 0,
         rowSpan: 0,
-        colSpan: 1
+        colSpan: 1,
       },
       },
-    ]
+    ];
     // 根据relId 排序
     // 根据relId 排序
 
 
-    for(let i = 0; i< result.records.length; i++){
-      const item = result.records[i]
-      if(!item.relId){
-        groupNum++
-        resultDataSource.push(item)
-        let itemChildArr:any[] = []
+    for (let i = 0; i < result.records.length; i++) {
+      const item = result.records[i];
+      if (!item.relId) {
+        groupNum++;
+        resultDataSource.push(item);
+        let itemChildArr: any[] = [];
         for (let j = 0; j < result.records.length; j++) {
         for (let j = 0; j < result.records.length; j++) {
-          const itemChild = result.records[j]
-          if(itemChild.relId == item.id){
-            resultDataSource.push(itemChild)
-            itemChildArr.push(itemChild)
+          const itemChild = result.records[j];
+          if (itemChild.relId == item.id) {
+            resultDataSource.push(itemChild);
+            itemChildArr.push(itemChild);
           }
           }
         }
         }
         const value0 = [
         const value0 = [
           {
           {
             code: 'key',
             code: 'key',
             rowSpan: itemChildArr.length + 1,
             rowSpan: itemChildArr.length + 1,
-            colSpan: 1
+            colSpan: 1,
           },
           },
           {
           {
             code: 'alarmName',
             code: 'alarmName',
             rowSpan: itemChildArr.length + 1,
             rowSpan: itemChildArr.length + 1,
-            colSpan: 1
+            colSpan: 1,
           },
           },
           {
           {
             code: 'operation1',
             code: 'operation1',
             rowSpan: itemChildArr.length + 1,
             rowSpan: itemChildArr.length + 1,
-            colSpan: 1
+            colSpan: 1,
           },
           },
-        ]
-        rowOrColSpanMap.set(item['id'], value0)
-        item['key'] = `${groupNum}`
-        for(let m=0; m< itemChildArr.length; m++){
-          rowOrColSpanMap.set(itemChildArr[m]['id'], value1)
+        ];
+        rowOrColSpanMap.set(item['id'], value0);
+        item['key'] = `${groupNum}`;
+        for (let m = 0; m < itemChildArr.length; m++) {
+          rowOrColSpanMap.set(itemChildArr[m]['id'], value1);
         }
         }
       }
       }
     }
     }
-    show.value = true
-    dataSource.value = resultDataSource
+    show.value = true;
+    dataSource.value = resultDataSource;
   }
   }
 
 
   async function handleDelete(record) {
   async function handleDelete(record) {
-    await workFaceWarningDelete({id: record.id })
-    getDataSource()
+    await workFaceWarningDelete({ id: record.id });
+    getDataSource();
   }
   }
 
 
-  const [register, { openModal, closeModal }] = useModal()
+  const [register, { openModal, closeModal }] = useModal();
 
 
   function handleOpen(flag?, record?) {
   function handleOpen(flag?, record?) {
     if (record) {
     if (record) {
-      if(flag == 'update'){
+      if (flag == 'update') {
         openModal(true, {
         openModal(true, {
           isUpdate: true,
           isUpdate: true,
-          record
+          record,
         });
         });
-      }else {
-        if(!activeID.value){
-          message.warning('请先选择预警条目!')
-          return
+      } else {
+        if (!activeID.value) {
+          message.warning('请先选择预警条目!');
+          return;
         }
         }
         // 新增并关系数据
         // 新增并关系数据
         openModal(true, {
         openModal(true, {
           isUpdate: false,
           isUpdate: false,
-          record
+          record,
         });
         });
       }
       }
-      
-    }else{
+    } else {
       if (!activeID.value) {
       if (!activeID.value) {
-        message.warning('请先选择预警条目!')
-        return
+        message.warning('请先选择预警条目!');
+        return;
       }
       }
       openModal(true, {
       openModal(true, {
         isUpdate: false,
         isUpdate: false,
       });
       });
     }
     }
-    
   }
   }
 
 
   async function onSubmit(flag, values) {
   async function onSubmit(flag, values) {
-    if(activeID.value){
+    if (activeID.value) {
       // 提交数据弹窗
       // 提交数据弹窗
       if (flag == 'update') {
       if (flag == 'update') {
-        await workFaceWarningEdit({ ...values })
+        await workFaceWarningEdit({ ...values });
       } else {
       } else {
-        await workFaceWarningAdd({ ...values, monitorType: 2, sysId: props.deviceId, alarmId: activeID.value})
+        await workFaceWarningAdd({ ...values, monitorType: 2, sysId: props.deviceId, alarmId: activeID.value });
       }
       }
-      getDataSource()
+      getDataSource();
     }
     }
     closeModal();
     closeModal();
   }
   }
 
 
-  onMounted(async() => {
-    await getWarningList()
-    await getDataSource()
-  })
+  onMounted(async () => {
+    await getWarningList();
+    await getDataSource();
+  });
 </script>
 </script>
 
 
 <style lang="less" scoped>
 <style lang="less" scoped>
   @ventSpace: zxm;
   @ventSpace: zxm;
 
 
-  .warning-device-box{
+  .warning-device-box {
     width: 100%;
     width: 100%;
     height: 600px;
     height: 600px;
     overflow-y: auto;
     overflow-y: auto;
     display: flex;
     display: flex;
-    .warning-box{
+    .warning-box {
       width: 200px;
       width: 200px;
       height: 100%;
       height: 100%;
       overflow-y: auto;
       overflow-y: auto;
       background: #ffffff11;
       background: #ffffff11;
       padding: 5px;
       padding: 5px;
       border-radius: 5px;
       border-radius: 5px;
-      
-      .link-item{
+
+      .link-item {
         position: relative;
         position: relative;
         cursor: pointer;
         cursor: pointer;
         line-height: 30px;
         line-height: 30px;
         padding-left: 30px;
         padding-left: 30px;
         color: #fff;
         color: #fff;
-        span:hover{
+        span:hover {
           color: #89ffff;
           color: #89ffff;
         }
         }
-        &::after{
+        &::after {
           content: '';
           content: '';
           position: absolute;
           position: absolute;
           display: block;
           display: block;
@@ -220,15 +217,13 @@
         color: aqua;
         color: aqua;
       }
       }
     }
     }
-    .device-box{
+    .device-box {
       flex: 1;
       flex: 1;
       margin-left: 10px;
       margin-left: 10px;
     }
     }
 
 
-    .action-link{
+    .action-link {
       color: #00e7ff;
       color: #00e7ff;
     }
     }
   }
   }
-  
-
 </style>
 </style>

+ 2 - 2
src/views/vent/monitorManager/gateMonitor/index.vue

@@ -233,7 +233,7 @@
           <a-tab-pane key="4" tab="报警历史">
           <a-tab-pane key="4" tab="报警历史">
             <div class="tab-item" v-if="activeKey === '4'">
             <div class="tab-item" v-if="activeKey === '4'">
               <AlarmHistoryTable
               <AlarmHistoryTable
-                :columnsType="deviceType"
+                columns-type="alarm"
                 :device-type="deviceType"
                 :device-type="deviceType"
                 :device-list-api="getTableList"
                 :device-list-api="getTableList"
                 designScope="alarm-history"
                 designScope="alarm-history"
@@ -256,7 +256,7 @@
                 columns-type="operator_history"
                 columns-type="operator_history"
                 :device-type="deviceType"
                 :device-type="deviceType"
                 :device-list-api="getTableList"
                 :device-list-api="getTableList"
-                designScope="alarm-history"
+                designScope="operator_history"
                 :scroll="scroll"
                 :scroll="scroll"
               />
               />
             </div>
             </div>