cxs před 2 týdny
rodič
revize
eda3a6537a

+ 12 - 0
src/layouts/components/ThemeDrawer/index.vue

@@ -128,6 +128,17 @@
       <span>页脚</span>
       <el-switch v-model="footer" />
     </div>
+
+
+    <!-- 数据设置 -->
+    <el-divider class="divider" content-position="center">
+      <el-icon><Coin /></el-icon>
+      数据设置
+    </el-divider>
+    <div class="theme-item">
+      <span>经纬度</span>
+      <el-switch v-model="warpWeft" />
+    </div>
   </el-drawer>
 </template>
 
@@ -153,6 +164,7 @@ const {
   headerInverted,
   isCollapse,
   accordion,
+  warpWeft,
   watermark,
   breadcrumb,
   breadcrumbIcon,

+ 1 - 0
src/stores/interface/index.ts

@@ -24,6 +24,7 @@ export interface GlobalState {
   tabs: boolean;
   tabsIcon: boolean;
   footer: boolean;
+  warpWeft:boolean;
 }
 
 /* UserState */

+ 3 - 1
src/stores/modules/global.ts

@@ -42,7 +42,9 @@ export const useGlobalStore = defineStore({
     // 标签页图标
     tabsIcon: false,
     // 页脚
-    footer: false
+    footer: false,
+    // 经纬度
+    warpWeft: false
   }),
   getters: {},
   actions: {

+ 1 - 1
src/views/alarm/allData/index.vue

@@ -640,7 +640,7 @@ let intervalId;
 onActivated(() => {
   intervalId = setInterval(() => {
     getList();
-  }, 60 * 1000);
+  }, 30 * 1000);
 });
 
 onDeactivated(() => {

+ 1 - 1
src/views/alarm/allWeather/index.vue

@@ -249,7 +249,7 @@ onMounted(() => {
 onActivated(() => {
   intervalId = setInterval(() => {
     getList();
-  }, 60 * 1000);
+  }, 30 * 1000);
 });
 
 onDeactivated(() => {

+ 15 - 1
src/views/alarm/singleDevice/index.vue

@@ -199,7 +199,7 @@ import img1500 from "@/assets/images/single/1500.png"
 import img1600 from "@/assets/images/single/1600.png"
 import img1700 from "@/assets/images/single/1700.png"
 import {getPlatformList, getQuerCertList, getStaitemList, getYallSensorList} from "@/api/modules/allData";
-import {computed, onMounted, reactive, ref} from "vue";
+import {computed, onActivated, onDeactivated, onMounted, reactive, ref} from "vue";
 import {Platform} from "@/api/interface";
 import {ColumnProps} from "@/components/ProTable/interface";
 import {useUserStore} from "@/stores/modules/user";
@@ -602,6 +602,20 @@ function addressLabel(item) {
     return `${as_province}${as_city}${as_area}${as_address}`;
   }
 }
+
+let intervalId;
+onActivated(() => {
+  intervalId = setInterval(() => {
+     getList()
+     getCertList()
+  }, 30 * 1000);
+});
+
+onDeactivated(() => {
+  clearInterval(intervalId);
+});
+
+
 </script>
 
 <style scoped>

+ 2 - 2
src/views/alarm/singleStationData/index.vue

@@ -24,8 +24,8 @@
 					selectPlatform?.as_province + selectPlatform?.as_city + selectPlatform?.as_area +
 					selectPlatform?.as_address
 				}}</div>
-				<div class="top_item">经度:{{ selectPlatform?.as_lon }}</div>
-				<div class="top_item">纬度:{{ selectPlatform?.as_lat }}</div>
+				<div v-if="globalStore.warpWeft" class="top_item">经度:{{ selectPlatform?.as_lon }}</div>
+				<div v-if="globalStore.warpWeft" class="top_item">纬度:{{ selectPlatform?.as_lat }}</div>
 				<div class="top_item">观测时间:{{ dataItemInfo && dataItemInfo.data_time_i ?
 					formatDate(dataItemInfo?.data_time_i, 2) : '--' }}
 				</div>

+ 14 - 3
src/views/alarm/software/index.vue

@@ -47,7 +47,7 @@
 
 <script setup lang="ts" name="useProTable">
 import Pagination from "@/components/ProTable/components/Pagination.vue";
-import {ref, reactive, onMounted, computed} from "vue";
+import {ref, reactive, onMounted, computed, onActivated, onDeactivated} from "vue";
 import { ColumnProps } from "@/components/ProTable/interface";
 import {getQueryAllSysItem} from "@/api/modules/allData";
 
@@ -114,6 +114,7 @@ const columns = reactive<ColumnProps[]>([
 const processData = ref([]);
 
 const getList= async ()=>{
+  dataList.value = []
   const { data } = await getQueryAllSysItem();
   processData.value = data.list
   processData.value.forEach(function(item) {
@@ -145,10 +146,20 @@ const getList= async ()=>{
   pageable.value.total = dataList.value.length
 }
 
-
-
 onMounted(() => {
   getList()
 });
 
+let intervalId;
+onActivated(() => {
+  intervalId = setInterval(() => {
+    getList()
+  }, 30 * 1000);
+});
+
+onDeactivated(() => {
+  clearInterval(intervalId);
+});
+
+
 </script>

+ 4 - 5
src/views/system/disposition/components/configurationAuthorization.vue

@@ -33,24 +33,23 @@
           <el-col :span="4">
             <el-form-item label="系统授时类型" style="width: 200px">
               <el-select v-model="formInline.timingType">
-                <el-option label="自动站授时" value="0"></el-option>
-                <el-option label="始终服务器授时" value="1"></el-option>
+                <el-option label="自动站授时" value="1"></el-option>
+                <el-option label="时钟服务器授时" value="0"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="4" v-if="formInline.timingType==='1'">
             <el-form-item label="自动站" style="width: 200px">
               <el-select v-model="formInline.timingPlatform" :disabled = "isDisabled">
-                <el-option label="test1" value="1"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-            <el-col :span="4" v-if="formInline.timingType==='2'">
+            <el-col :span="4" v-if="formInline.timingType==='0'">
               <el-form-item label="地址" style="width: 200px">
                 <el-input v-model="formInline.timingIP" :disabled="isDisabled"></el-input>
               </el-form-item>
             </el-col>
-              <el-col :span="4" v-if="formInline.timingType==='2'">
+              <el-col :span="4" v-if="formInline.timingType==='0'">
                 <el-form-item label="端口号" style="width: 200px">
                   <el-input v-model="formInline.timingPlatformPORT" :disabled="isDisabled"></el-input>
                 </el-form-item>

+ 13 - 7
src/views/system/disposition/components/configurationGlobal.vue

@@ -312,23 +312,18 @@ const parseItemValue = (itemValue) => {
   let data2 =undefined
   if(alarmCondition.includes('#')){
     const [conditionAlarm, conditionAlarm2] = alarmCondition.split('#');
-     data = `${parseCondition(conditionAlarm)}   ${parseCondition(conditionAlarm2)}`;
+     data = `${parseCondition(conditionAlarm)} ${getCondition(relationshipAlarm)}  ${parseCondition(conditionAlarm2)}`;
   }else {
     data = `${parseCondition(alarmCondition)}`;
   }
 
   if(eliminateCondition.includes('#')){
     const [conditionEliminate, conditionEliminate2] = eliminateCondition.split('#');
-     data2 = `${parseCondition(conditionEliminate)}  ${parseCondition(conditionEliminate2)}`;
+     data2 = `${parseCondition(conditionEliminate)} ${getCondition(relationshipEliminate)}  ${parseCondition(conditionEliminate2)}`;
   }else {
      data2 = `${parseCondition(eliminateCondition)}`;
   }
 
-
-
-
-
-
   return {
     relationshipAlarm,
     timeAlarm,
@@ -339,6 +334,17 @@ const parseItemValue = (itemValue) => {
   };
 }
 
+
+const getCondition=(condition)=>{
+  if(condition==='0'){
+    return '并且'
+  }else if(condition==='1'){
+    return '或者'
+  }else {
+    return ''
+  }
+}
+
 const parseCondition = (condition) => {
   const [element, operator, value] = condition.split('|');
   return `${findDataName(element)} ${operatorDataName(operator)} ${value}`;

+ 1 - 1
src/views/system/disposition/components/distributionAutomatic.vue

@@ -25,7 +25,7 @@
                 <div>{{ scope.row.ftp_type == 1 ? '自动下载' : '自动上传' }}</div>
               </template>
               <template v-if="item.prop === 'use_able'">
-                <div>{{ scope.row.use_able == 1 ? '启用' : '停用' }}</div>
+                <div>{{ scope.row.use_able == 1 ? '启用' : '停用' }}</div>
               </template>
 
               <!-- <template v-if="item.prop === 'operation'">

+ 10 - 6
src/views/system/disposition/components/serviceBeidou.vue

@@ -21,6 +21,9 @@
         <template v-for="item in columns" :key="item">
           <el-table-column v-bind="item" :align="item.align ?? 'left'" :reserve-selection="item.type == 'selection'" :show-overflow-tooltip="true">
             <template #default="scope">
+              <template v-if="item.prop === 'bd_codec'">
+                <div>{{ scope.row.bd_codec == 0 ? '2.5协议' : scope.row.bd_type == 1 ? '4.0协议' :  '其他'}}</div>
+              </template>
               <template v-if="item.prop === 'bd_type'">
                 <div>{{ scope.row.bd_type == 0 ? '北斗普通机' : scope.row.bd_type == 1 ? '北斗指挥机' : scope.row.bd_type == 2 ? '北斗授时模块' :  '其他'}}</div>
               </template>
@@ -77,17 +80,18 @@
         </el-form-item>
         <el-form-item label="通信机型号" prop="models">
           <el-select v-model="form.models" filterable placeholder="请选择" clearable>
+            <el-option label="北斗普通机" value="0" />
             <el-option label="北斗指挥机" value="1" />
+            <el-option label="北斗授时模块" value="2" />
           </el-select>
         </el-form-item>
         <el-form-item label="串口号" prop="port">
-          <el-select v-model="form.port" filterable placeholder="请选择" clearable>
-            <el-option label="2.5协议" value="1" />
-          </el-select>
+          <el-input v-model="form.port" placeholder="请输入" />
         </el-form-item>
         <el-form-item label="通信机协议" prop="agreement">
           <el-select v-model="form.agreement" filterable placeholder="请选择" clearable>
-            <el-option label="/dev/ttyAMAO" value="1" />
+            <el-option label="2.5协议" value="0" />
+            <el-option label="4.0协议" value="1" />
           </el-select>
         </el-form-item>
         <el-form-item label="连接参数" prop="parameter">
@@ -143,8 +147,8 @@ const resetQuery = () => {
 const columns = reactive<ColumnProps[]>([
   { prop: "bd_code", label: "北斗号" },
   { prop: "bd_type", label: "型号" },
-  { prop: "bd_serial", label: "协议" },
-  { prop: "bd_codec", label: "串口号" },
+  { prop: "bd_codec", label: "协议" },
+  { prop: "bd_serial", label: "串口号" },
   { prop: "bd_params", label: "连接参数" },
   { prop: "operation", label: "操作", width:150,align: 'center' }
 ]);

+ 1 - 1
src/views/system/stations/components/parametersBasic.vue

@@ -344,7 +344,7 @@
                   v-if="primaryCommunications.comm_type===4||primaryCommunications.comm_type===0||primaryCommunications.comm_type===1">
             <el-form-item label="通信模式" prop="communicationMode" style="width: 200px">
               <el-select v-model="primaryCommunications.comm_mode" disabled>
-                <el-option label="主动+补" :value="0"></el-option>
+                <el-option label="主动+补" :value="0"></el-option>
                 <el-option label="被动" :value="1"></el-option>
                 <el-option label="主动" :value="2"></el-option>
                 <el-option label="被动 + 补收" :value="3"></el-option>

+ 18 - 1
src/views/system/stations/components/strategySafeguard.vue

@@ -745,7 +745,12 @@ const parseItemValue = (itemValue) => {
     const alarm = itemValue.split(';');
     let value = ''; // 初始化 value 为一个空字符串
     for (var i = 1; i < alarm.length; i++) { // 循环从数组的第二个元素开始
-      value += getItemValue(alarm[i]) + ' '; // 拼接字符串并在最后添加空格
+      if(i==1){
+        value += getItemValue(alarm[i]) +' ';
+      }else {
+        value +=getCondition(alarm[0]) +' '+getItemValue(alarm[i]) +' ';
+      }
+
     }
     // 如果需要在最后的结果中没有尾随空格,可以使用 trimEnd() 方法
     return value.trimEnd();
@@ -753,6 +758,18 @@ const parseItemValue = (itemValue) => {
   return '';
 }
 
+
+const getCondition=(itemValue)=>{
+  const [element, operator, value] = itemValue.split('|');
+  if(element==='0'){
+    return '并且'
+  }else if(element==='1'){
+    return '或者'
+  }else {
+    return ''
+  }
+}
+
 const getItemList=(itemValue)=>{
   const [element, operator, value] = itemValue.split('|');
   return {element:findDataName(element),operator:operatorDataName(operator),valueName:value}

+ 2 - 2
src/views/system/stations/index.vue

@@ -252,7 +252,7 @@ const form = ref<any>({...initFormData});
 const handleAdd = () => {
   reset();
   dialog.visible = true;
-  dialog.title = "新增台";
+  dialog.title = "新增台";
 }
 
 const rowItem = ref({})
@@ -262,7 +262,7 @@ const handleUpdate = async (row?: any) => {
   reset();
   rowItem.value = row
   dialog.visible = true;
-  dialog.title = "编辑台";
+  dialog.title = "编辑台";
 }
 
 /** 取消按钮 */

+ 1 - 1
src/views/system/user/index.vue

@@ -217,7 +217,7 @@ const processTableData = ref([
 const columns = reactive<ColumnProps[]>([
   { prop: "user_account", label: "用户账号" },
   { prop: "user_name", label: "用户姓名" },
-  { prop: "user_job", label: "角色" },
+  { prop: "user_role_id", label: "角色" },
   { prop: "user_job", label: "职务" },
   { prop: "user_unit", label: "所属单位" },
   { prop: "user_phone", label: "联系电话" },