Explorar el Código

[Feat 0000]风门管理弹窗、打包错误修复、主风机频率设定功能

bobo04052021@163.com hace 2 días
padre
commit
f4487ac3cb

+ 6 - 3
build/vite/plugin/styleImport.ts

@@ -69,12 +69,15 @@ export function configStyleImportPlugin(_isBuild: boolean) {
             'image-preview-group': 'image',
             'time-range-picker': 'time-picker',
           };
-
+          // 处理textarea组件的样式引入问题
+          if (name === 'textarea') {
+            return `ant-design-vue/es/input/style/index`;
+          }
           return ignoreList.includes(name)
             ? ''
             : replaceList.hasOwnProperty(name)
-            ? `ant-design-vue/es/${replaceList[name]}/style/index`
-            : `ant-design-vue/es/${name}/style/index`;
+              ? `ant-design-vue/es/${replaceList[name]}/style/index`
+              : `ant-design-vue/es/${name}/style/index`;
         },
       },
     ],

+ 2 - 2
public/js/config.js

@@ -17,11 +17,11 @@ const VENT_PARAM = {
   modalText: '煤科通安(北京)智控科技有限公司研制', //国家能源集团沙吉海煤矿 //三维模型电子屏底部文字配置
   productionCrlPlatformUrl: '', // 神东要求主扇的控制功能改回跳转至生产管控平台,这里填写上生产管控地址后(例如填写:"https://www.baidu.com/"),就可以跳转了
   safetyCrlPlatformUrl: '', // 神东要求安全监控跳转至安全监控管控平台,这里填写上生产管控地址后(例如填写:"https://www.baidu.com/"),就可以跳转了
-  gasControlMock: true, // 项目关于瓦斯自主调控,是否模拟演示, true: 真实调控; false 模拟调控
+  gasControlMock: false, // 项目关于瓦斯自主调控,是否模拟演示, true: 真实调控; false 模拟调控
   historyIsMultiple: false, // 设备历史数据是否支持多选
   isShowQy: true, // 是否显示气压
   is2DModel: false, // 是否尽最大可能使用2D模型
   isLoginByCode: false, // 登录页面是否有验证码
   loadText: '智能通风管控系统',
-  fanSwitchoverSimulation: true, // 不停风倒机模拟功能: true=启用模拟演示, false=使用实际控制
+  fanSwitchoverSimulation: false, // 不停风倒机模拟功能: true=启用模拟演示, false=使用实际控制
 }

+ 170 - 161
src/views/vent/deviceManager/comment/DeviceModal.vue

@@ -21,7 +21,7 @@
       <a-tab-pane key="11" tab="报表录入">
         <DeviceReportInfo v-if="activeKey == '11'" />
       </a-tab-pane>
-      <a-tab-pane key="2" tab="点表关联">
+      <a-tab-pane key="2" :tab="deviceType === 'gate' ? '监测点位关联' : '点表关联'">
         <PointTable
           :columns="pointColumns"
           :pointType="deviceData.strtype"
@@ -31,6 +31,15 @@
           @delete="deletePointById"
         />
       </a-tab-pane>
+      <a-tab-pane v-if="deviceType === 'gate'" key="15" tab="控制点位关联">
+        <PointTable
+          :columns="pointColumns"
+          :pointType="deviceData.strtype"
+          :deviceId="deviceData.id"
+          @save="savePointData"
+          @delete="deletePointById"
+        />
+      </a-tab-pane>
       <a-tab-pane key="8" tab="虚拟点表配置">
         <PointTable
           :columns="simulationColumns"
@@ -98,176 +107,176 @@
   </BasicModal>
 </template>
 <script lang="ts" setup>
-  import { computed, unref, inject, reactive, ref, watch } from 'vue';
-  import { BasicModal, useModalInner } from '/@/components/Modal';
-  import EditRowTable from '../../comment/EditRowTable.vue';
-  import PointTable from './pointTabel/PointTable.vue';
-  import WarningTable from './warningTabel/index.vue';
-  import ManagerWarningTable from './warningTabel/index1.vue';
-  import ManagerWarningDeviceTable from './warningTabel/index2.vue';
-  import BackWindDeviceTable from './warningTabel/index3.vue';
-  import AccidentPlanTable from './warningTabel/index4.vue';
-  import LEDPlaylistTable from './warningTabel/index5.vue';
-  import WorkFacePointTable from './pointTabel/WorkFacePointTable.vue';
-  import WorkFaceReportTable from './pointTabel/WorkFaceReportTable.vue';
-  import DeviceReportInfo from './DeviceReportInfo.vue';
-  import FaultConfigTable from './faultConfigTable/index.vue';
-  // import editWarnTable from './editWarnTable/index.vue'
-  import FanLineModal from './FanLineModal .vue';
-  import FormModal from './FormModal.vue';
-  import { cloneDeep } from 'lodash-es';
-  import { columns as pointColumns, workFaceColumns, simulationColumns, reportColumns } from './pointTabel/point.data';
-  import { saveOrUpdate as pointSaveOrUpdate, deleteById as pointDeleteById } from './pointTabel/point.api';
-  import { columns as cameraColumns } from './cameraTabel/camera.data';
+import { computed, unref, inject, reactive, ref, watch } from 'vue';
+import { BasicModal, useModalInner } from '/@/components/Modal';
+import EditRowTable from '../../comment/EditRowTable.vue';
+import PointTable from './pointTabel/PointTable.vue';
+import WarningTable from './warningTabel/index.vue';
+import ManagerWarningTable from './warningTabel/index1.vue';
+import ManagerWarningDeviceTable from './warningTabel/index2.vue';
+import BackWindDeviceTable from './warningTabel/index3.vue';
+import AccidentPlanTable from './warningTabel/index4.vue';
+import LEDPlaylistTable from './warningTabel/index5.vue';
+import WorkFacePointTable from './pointTabel/WorkFacePointTable.vue';
+import WorkFaceReportTable from './pointTabel/WorkFaceReportTable.vue';
+import DeviceReportInfo from './DeviceReportInfo.vue';
+import FaultConfigTable from './faultConfigTable/index.vue';
+// import editWarnTable from './editWarnTable/index.vue'
+import FanLineModal from './FanLineModal .vue';
+import FormModal from './FormModal.vue';
+import { cloneDeep } from 'lodash-es';
+import { columns as pointColumns, workFaceColumns, simulationColumns, reportColumns } from './pointTabel/point.data';
+import { saveOrUpdate as pointSaveOrUpdate, deleteById as pointDeleteById } from './pointTabel/point.api';
+import { columns as cameraColumns } from './cameraTabel/camera.data';
 
-  import { list as cameraList, saveOrUpdate as cameraSaveOrUpdate, deleteById as cameraDeleteById } from './cameraTabel/camera.api';
+import { list as cameraList, saveOrUpdate as cameraSaveOrUpdate, deleteById as cameraDeleteById } from './cameraTabel/camera.api';
 
-  const props = defineProps({
-    showTab: { type: Boolean, required: true },
-    // deviceType: { type: String },
-  });
-  // 声明Emits
-  const emit = defineEmits(['saveOrUpdate', 'register', 'closeModal']);
-  const isUpdate = inject('isUpdate');
-  const deviceData = inject('formData') as any;
-  const deviceType = inject('deviceType') as any;
-  const record = reactive({});
-  const activeKey = ref('1');
-  const linkColumns = ref<any[]>([]);
+const props = defineProps({
+  showTab: { type: Boolean, required: true },
+  // deviceType: { type: String },
+});
+// 声明Emits
+const emit = defineEmits(['saveOrUpdate', 'register', 'closeModal']);
+const isUpdate = inject('isUpdate');
+const deviceData = inject('formData') as any;
+const deviceType = inject('deviceType') as any;
+const record = reactive({});
+const activeKey = ref('1');
+const linkColumns = ref<any[]>([]);
 
-  //表单赋值
-  const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
-    //重置表单
-    setModalProps({ confirmLoading: false });
-    Object.assign(deviceData, data.record);
-    // 判断是否是关键阻力路线
-  });
+//表单赋值
+const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
+  //重置表单
+  setModalProps({ confirmLoading: false });
+  Object.assign(deviceData, data.record);
+  // 判断是否是关键阻力路线
+});
 
-  //设置标题
-  const title = computed(() => {
-    if (!unref(isUpdate)) {
-      if (deviceData.strname || deviceData.systemname) {
-        return `新增(${deviceData.strname || deviceData.systemname})`;
-      }
-      return `新增`;
-    } else {
-      if (deviceData['strtype'] == 'sys_majorpath') {
-        linkColumns.value = [
-          ...workFaceColumns,
-          ...[
-            {
-              title: '是否在关键通风路线上',
-              width: 100,
-              dataIndex: 'pathflag',
-              edit: true,
-              editComponent: 'Switch',
-              editValueMap: (value) => {
-                return value ? '是' : '否';
-              },
-            },
-            {
-              title: '传感器类型',
-              width: 100,
-              dataIndex: 'sensorType',
-              edit: true,
-              editComponent: 'Select',
-              editComponentProps: {
-                options: [
-                  {
-                    label: '多参',
-                    value: '1',
-                  },
-                  {
-                    label: '测风',
-                    value: '2',
-                  },
-                ],
-              },
-            },
-            {
-              title: '风向',
-              width: 100,
-              dataIndex: 'winddir',
-              edit: true,
-              editComponent: 'Select',
-              editComponentProps: {
-                options: [
-                  {
-                    label: '进风',
-                    value: '1',
-                  },
-                  {
-                    label: '用风',
-                    value: '2',
-                  },
-                  {
-                    label: '回风',
-                    value: '3',
-                  },
-                ],
-              },
+//设置标题
+const title = computed(() => {
+  if (!unref(isUpdate)) {
+    if (deviceData.strname || deviceData.systemname) {
+      return `新增(${deviceData.strname || deviceData.systemname})`;
+    }
+    return `新增`;
+  } else {
+    if (deviceData['strtype'] == 'sys_majorpath') {
+      linkColumns.value = [
+        ...workFaceColumns,
+        ...[
+          {
+            title: '是否在关键通风路线上',
+            width: 100,
+            dataIndex: 'pathflag',
+            edit: true,
+            editComponent: 'Switch',
+            editValueMap: (value) => {
+              return value ? '是' : '否';
             },
-            {
-              title: '是否总风量',
-              width: 100,
-              dataIndex: 'windflag',
-              edit: true,
-              editComponent: 'Switch',
-              editValueMap: (value) => {
-                return value ? '是' : '否';
-              },
+          },
+          {
+            title: '传感器类型',
+            width: 100,
+            dataIndex: 'sensorType',
+            edit: true,
+            editComponent: 'Select',
+            editComponentProps: {
+              options: [
+                {
+                  label: '多参',
+                  value: '1',
+                },
+                {
+                  label: '测风',
+                  value: '2',
+                },
+              ],
             },
-            {
-              title: '路线名称',
-              width: 100,
-              dataIndex: 'des',
-              edit: true,
-              editComponent: 'Input',
+          },
+          {
+            title: '风向',
+            width: 100,
+            dataIndex: 'winddir',
+            edit: true,
+            editComponent: 'Select',
+            editComponentProps: {
+              options: [
+                {
+                  label: '进风',
+                  value: '1',
+                },
+                {
+                  label: '用风',
+                  value: '2',
+                },
+                {
+                  label: '回风',
+                  value: '3',
+                },
+              ],
             },
-            {
-              title: ' 阻力值',
-              width: 100,
-              dataIndex: 'testDrag',
-              edit: true,
-              editComponent: 'InputNumber',
+          },
+          {
+            title: '是否总风量',
+            width: 100,
+            dataIndex: 'windflag',
+            edit: true,
+            editComponent: 'Switch',
+            editValueMap: (value) => {
+              return value ? '是' : '否';
             },
-          ],
-        ];
-      } else {
-        linkColumns.value = [...workFaceColumns];
-      }
-      if (deviceData.strname || deviceData.systemname) {
-        return `编辑(${deviceData.strname || deviceData.systemname})`;
-      }
-      return `编辑`;
+          },
+          {
+            title: '路线名称',
+            width: 100,
+            dataIndex: 'des',
+            edit: true,
+            editComponent: 'Input',
+          },
+          {
+            title: ' 阻力值',
+            width: 100,
+            dataIndex: 'testDrag',
+            edit: true,
+            editComponent: 'InputNumber',
+          },
+        ],
+      ];
+    } else {
+      linkColumns.value = [...workFaceColumns];
+    }
+    if (deviceData.strname || deviceData.systemname) {
+      return `编辑(${deviceData.strname || deviceData.systemname})`;
     }
-  });
+    return `编辑`;
+  }
+});
 
-  const closeModalFn = () => {
-    activeKey.value = '1';
-    closeModal();
-    emit('closeModal');
-  };
+const closeModalFn = () => {
+  activeKey.value = '1';
+  closeModal();
+  emit('closeModal');
+};
 
-  const savePointData = (data) => {
-    const record = cloneDeep(data.editValueRefs);
-    pointSaveOrUpdate(Object.assign(record, { id: data.id, deviceId: deviceData.id }), data.id);
-  };
-  const saveCameraData = (data: any, reload: Function) => {
-    cameraSaveOrUpdate(Object.assign({ ...data }, { id: data.id, deviceid: deviceData.id }), data.id);
-  };
-  const deletePointById = (id, reload) => {
-    pointDeleteById({ id: id }, reload);
-  };
-  const deleteCameraById = (id, reload) => {
-    cameraDeleteById({ id: id }, reload);
-  };
+const savePointData = (data) => {
+  const record = cloneDeep(data.editValueRefs);
+  pointSaveOrUpdate(Object.assign(record, { id: data.id, deviceId: deviceData.id }), data.id);
+};
+const saveCameraData = (data: any, reload: Function) => {
+  cameraSaveOrUpdate(Object.assign({ ...data }, { id: data.id, deviceid: deviceData.id }), data.id);
+};
+const deletePointById = (id, reload) => {
+  pointDeleteById({ id: id }, reload);
+};
+const deleteCameraById = (id, reload) => {
+  cameraDeleteById({ id: id }, reload);
+};
 </script>
 <style scoped lang="less">
-  ::v-deep .suffix {
-    height: 32px;
-    line-height: 32px;
-    margin-left: 5px;
-    color: #fff;
-  }
-</style>
+::v-deep .suffix {
+  height: 32px;
+  line-height: 32px;
+  margin-left: 5px;
+  color: #fff;
+}
+</style>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 757 - 815
src/views/vent/monitorManager/mainFanMonitor/index.vue


+ 5 - 0
src/views/vent/monitorManager/mainFanMonitor/main.data.ts

@@ -408,6 +408,11 @@ export const modalTypeArr = {
       value: '一键调频',
       permission: 'fan:frequency',
     },
+    {
+      key: 'FreqSet',
+      value: '频率设定',
+      permission: 'fan:FreqSet',
+    },
     {
       key: 'fbm',
       value: '防爆门控制',

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio