Преглед на файлове

Merge branch 'master' of http://git.techwx.com/framework/SMO

章志文 преди 2 седмици
родител
ревизия
6e5f2d9b48

+ 61 - 2
src/App.vue

@@ -5,15 +5,21 @@
 </template>
 
 <script setup lang="ts">
-import { onMounted, reactive, computed } from "vue";
+import {onMounted, reactive, computed, ref} from "vue";
 import { useI18n } from "vue-i18n";
 import { getBrowserLang } from "@/utils";
 import { useTheme } from "@/hooks/useTheme";
-import { ElConfigProvider } from "element-plus";
+import {ElConfigProvider, ElNotification} from "element-plus";
 import { LanguageType } from "./stores/interface";
 import { useGlobalStore } from "@/stores/modules/global";
 import en from "element-plus/es/locale/lang/en";
 import zhCn from "element-plus/es/locale/lang/zh-cn";
+import {Login, Platform} from "@/api/interface";
+import {loginApi} from "@/api/modules/login";
+import {initDynamicRouter} from "@/routers/modules/dynamicRouter";
+import {HOME_URL} from "@/config";
+import {useUserStore} from "@/stores/modules/user";
+import {getPlatformList} from "@/api/modules/allData";
 
 const globalStore = useGlobalStore();
 
@@ -41,6 +47,59 @@ const assemblySize = computed(() => globalStore.assemblySize);
 
 // element button config
 const buttonConfig = reactive({ autoInsertSpace: false });
+
+
+
+const loginForm = reactive<Login.ReqLoginForm>({
+  rememberMe: false,
+  username: "",
+  password: ""
+});
+
+const userStore = useUserStore();
+const loginStationsList = async () => {
+  loginForm.username = localStorage.getItem('username2')
+  loginForm.password = localStorage.getItem('password2')
+  if(!loginForm.username||!loginForm.password){
+    return
+  }
+  try {
+    const {data} = await loginApi({...loginForm, password: loginForm.password});
+    if (!data.user) {
+      return;
+    }
+
+    userStore.setToken(Date.now().toString());
+    userStore.setUserInfo(data.user)
+    userStore.setAsInfo(data.asInfo)
+    getStationsList();
+  } finally {
+  }
+};
+// 站号列表更新
+const getStationsList = async () => {
+  const userStore = useUserStore();
+  const user = computed(() => userStore.userInfo);
+  const Info = computed(() => userStore.asInfo);
+
+  // 查询自动站列表
+  const queryas = ref<Platform>({ pageSize: 20000, pageNum: 1 });
+  const { data } = await getPlatformList(queryas.value);
+  const array2 = data.list;
+
+  if (user.value.role_id === '管理员') {
+    userStore.setStations(array2);
+  } else {
+    const codesToMatch = Info.value.map(item => item.as_code);
+    const filteredArray = array2.filter(item => codesToMatch.includes(item.as_code));
+    userStore.setStations(filteredArray);
+  }
+};
+
+onMounted(() => {
+  loginStationsList()
+})
+
 </script>
 <style>
 body {

+ 2 - 0
src/layouts/components/Header/components/Avatar.vue

@@ -64,6 +64,8 @@ const logout = () => {
     userStore.setAsInfo([]);
     userStore.setUserInfo({})
     userStore.clearAllData()
+    localStorage.removeItem('username2');
+    localStorage.removeItem('password2');
 
     // 3.重定向到登陆页
     router.replace(LOGIN_URL);

+ 2 - 2
src/styles/common.scss

@@ -321,17 +321,17 @@
   }
 
   .selected-item-tag {
-    cursor: pointer;
     border-radius: 8px;
     color: #000000;
     font-size: 16px;
     text-align: center;
     padding: 10px 15px;
     flex: 0 1 auto;
+    cursor: move;
   }
 
   .selected-item-tag-active {
-    cursor: pointer;
+    cursor: move;
     background-color: var(--el-color-primary-light-9);
     border-radius: 8px;
     color: var(--el-color-primary);

+ 19 - 2
src/views/alarm/allData/index.vue

@@ -164,7 +164,12 @@
           <div class="disposition-title" style="margin-top: 0px">已选要素</div>
           <div class="selected-list-c">
             <template v-for="(item,index) in copiedCustomizeColumns" :key="item.id">
-              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)">{{item.data_name}}</div>
+              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)"
+                    draggable="true"
+                    @dragstart="dragStart($event, index)"
+                    @dragover.prevent
+                    @drop="drop($event, index)"
+              >{{item.data_name}}</div>
             </template>
           </div>
           <div class="button-container">
@@ -200,7 +205,6 @@ const dialog = reactive<any>({
   title: ''
 });
 
-
 const cancel = () => {
   dialog.visible = false;
 }
@@ -458,6 +462,19 @@ const changeMoveDown = ()=>{
   }
 }
 
+const dragStart = (event, index) => {
+  event.dataTransfer.effectAllowed = 'move';
+  // 保存当前拖动的元素索引
+  event.dataTransfer.setData('text/plain', index.toString());
+};
+
+const drop = (event, index) => {
+  const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));
+  // 移动数组中的元素来更新顺序
+  const draggedItem = copiedCustomizeColumns.value.splice(draggedIndex, 1)[0];
+  copiedCustomizeColumns.value.splice(index, 0, draggedItem);
+};
+
 const changeRemove= ()=>{
   //删除数据
   if (copiedCustomizeColumns.value.length > 0) {

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

@@ -89,7 +89,12 @@
           <div class="disposition-title" style="margin-top: 0px">已选设备</div>
           <div class="selected-list-c">
             <template v-for="(item,index) in copiedCustomizeColumns" :key="item.se_type">
-              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)">{{item.se_name}}</div>
+              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)"
+                    draggable="true"
+                    @dragstart="dragStart($event, index)"
+                    @dragover.prevent
+                    @drop="drop($event, index)"
+              >{{item.se_name}}</div>
             </template>
           </div>
           <div class="button-container">
@@ -230,6 +235,18 @@ const columns = reactive<ColumnProps[]>([
   { prop: "sta_remark", label: "备注" },
 ]);
 
+const dragStart = (event, index) => {
+  event.dataTransfer.effectAllowed = 'move';
+  // 保存当前拖动的元素索引
+  event.dataTransfer.setData('text/plain', index.toString());
+};
+
+const drop = (event, index) => {
+  const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));
+  // 移动数组中的元素来更新顺序
+  const draggedItem = copiedCustomizeColumns.value.splice(draggedIndex, 1)[0];
+  copiedCustomizeColumns.value.splice(index, 0, draggedItem);
+};
 
 const handlePlatform = (item) => {
   if (!item || typeof item !== 'object') {

+ 21 - 1
src/views/alarm/singleStationData/index.vue

@@ -496,7 +496,12 @@
 					<div class="selected-list-c">
 						<template v-for="(item, index) in copiedCustomizeColumns" :key="item.id">
 							<div :class="selectedItemIndex === index ? 'selected-item-tag-active' : 'selected-item-tag'"
-								@click="changeSelected(index)">{{ item.data_name }}</div>
+								@click="changeSelected(index)"
+                   draggable="true"
+                   @dragstart="dragStart($event, index)"
+                   @dragover.prevent
+                   @drop="drop($event, index)"
+              >{{ item.data_name }}</div>
 						</template>
 					</div>
 					<div class="button-container">
@@ -571,6 +576,21 @@ const dialog = reactive<any>({
 	visible: false,
 	title: ''
 });
+
+
+const dragStart = (event, index) => {
+  event.dataTransfer.effectAllowed = 'move';
+  // 保存当前拖动的元素索引
+  event.dataTransfer.setData('text/plain', index.toString());
+};
+
+const drop = (event, index) => {
+  const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));
+  // 移动数组中的元素来更新顺序
+  const draggedItem = copiedCustomizeColumns.value.splice(draggedIndex, 1)[0];
+  copiedCustomizeColumns.value.splice(index, 0, draggedItem);
+};
+
 const globalStore = useGlobalStore();
 const isDark = computed(() => globalStore.isDark);
 

+ 20 - 1
src/views/analysis/featureCurves/index.vue

@@ -219,7 +219,12 @@
 					<div class="selected-list-c">
 						<template v-for="(item, index) in copiedCustomizeColumns" :key="item.id">
 							<div :class="selectedItemIndex === index ? 'selected-item-tag-active' : 'selected-item-tag'"
-								@click="changeSelected(index)">{{ item.data_name }}</div>
+								@click="changeSelected(index)"
+                   draggable="true"
+                   @dragstart="dragStart($event, index)"
+                   @dragover.prevent
+                   @drop="drop($event, index)"
+              >{{ item.data_name }}</div>
 						</template>
 					</div>
 					<div class="button-container">
@@ -260,6 +265,20 @@ const changetype = (e) => {
 	}
 	getHistoryList()
 }
+
+const dragStart = (event, index) => {
+  event.dataTransfer.effectAllowed = 'move';
+  // 保存当前拖动的元素索引
+  event.dataTransfer.setData('text/plain', index.toString());
+};
+
+const drop = (event, index) => {
+  const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));
+  // 移动数组中的元素来更新顺序
+  const draggedItem = copiedCustomizeColumns.value.splice(draggedIndex, 1)[0];
+  copiedCustomizeColumns.value.splice(index, 0, draggedItem);
+};
+
 const handleDateRangeChange = (newVal) => {
 	const [startDate, endDate] = newVal;
 	if (endDate && isToday(endDate)) {

+ 3 - 0
src/views/login/components/LoginForm.vue

@@ -69,6 +69,9 @@ const login = (formEl: FormInstance | undefined) => {
       localStorage.removeItem('rememberMe');
     }
 
+    localStorage.setItem('username2', String(loginForm.username));
+    localStorage.setItem('password2', String(loginForm.password));
+
     try {
       // 1.执行登录接口
       const { data } = await loginApi({ ...loginForm, password: loginForm.password });

+ 19 - 1
src/views/query/deviceHealth/index.vue

@@ -159,7 +159,12 @@
           <div class="disposition-title" style="margin-top: 0px">已选设备</div>
           <div class="selected-list-c">
             <template v-for="(item,index) in copiedCustomizeColumns" :key="item.se_type">
-              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)">{{item.se_name}}</div>
+              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)"
+                    draggable="true"
+                    @dragstart="dragStart($event, index)"
+                    @dragover.prevent
+                    @drop="drop($event, index)"
+              >{{item.se_name}}</div>
             </template>
           </div>
           <div class="button-container">
@@ -198,6 +203,19 @@ const points =ref(true);
 const singleTime =ref(undefined)
 const multiTime =ref(undefined)
 
+const dragStart = (event, index) => {
+  event.dataTransfer.effectAllowed = 'move';
+  // 保存当前拖动的元素索引
+  event.dataTransfer.setData('text/plain', index.toString());
+};
+
+const drop = (event, index) => {
+  const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));
+  // 移动数组中的元素来更新顺序
+  const draggedItem = copiedCustomizeColumns.value.splice(draggedIndex, 1)[0];
+  copiedCustomizeColumns.value.splice(index, 0, draggedItem);
+};
+
 const pageable = ref<any>({
   time_space:60,
   begin_time: undefined,

+ 19 - 1
src/views/query/queryObservationData/index.vue

@@ -240,7 +240,12 @@
           <div class="disposition-title" style="margin-top: 0px">已选要素</div>
           <div class="selected-list-c">
             <template v-for="(item,index) in copiedCustomizeColumns" :key="item.id">
-              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)">{{item.data_name}}</div>
+              <div  :class="selectedItemIndex===index?'selected-item-tag-active':'selected-item-tag'" @click="changeSelected(index)"
+                    draggable="true"
+                    @dragstart="dragStart($event, index)"
+                    @dragover.prevent
+                    @drop="drop($event, index)"
+              >{{item.data_name}}</div>
             </template>
           </div>
           <div class="button-container">
@@ -292,6 +297,19 @@ const changeStand=()=>{
   pageable.value.data_items = [...customizeColumns.value];
 }
 
+const dragStart = (event, index) => {
+  event.dataTransfer.effectAllowed = 'move';
+  // 保存当前拖动的元素索引
+  event.dataTransfer.setData('text/plain', index.toString());
+};
+
+const drop = (event, index) => {
+  const draggedIndex = parseInt(event.dataTransfer.getData('text/plain'));
+  // 移动数组中的元素来更新顺序
+  const draggedItem = copiedCustomizeColumns.value.splice(draggedIndex, 1)[0];
+  copiedCustomizeColumns.value.splice(index, 0, draggedItem);
+};
+
 const cancel = () => {
   dialog.visible = false;
 }

+ 2 - 2
src/views/system/disposition/components/configurationAuthorization.vue

@@ -58,8 +58,8 @@
         </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button > 重置 </el-button>
-        <el-button type="primary"> 确定 </el-button>
+        <el-button disabled> 重置 </el-button>
+        <el-button type="primary" disabled> 确定 </el-button>
       </div>
     </div>
   </el-form>

+ 2 - 2
src/views/system/disposition/components/configurationBasic.vue

@@ -77,8 +77,8 @@
         </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button > 重置 </el-button>
-        <el-button type="primary"> 确定 </el-button>
+        <el-button disabled> 重置 </el-button>
+        <el-button type="primary" disabled> 确定 </el-button>
       </div>
     </div>
   </el-form>

+ 2 - 2
src/views/system/disposition/components/configurationGlobal.vue

@@ -131,8 +131,8 @@
         </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button > 重置 </el-button>
-        <el-button type="primary"> 确定 </el-button>
+        <el-button disabled> 重置 </el-button>
+        <el-button type="primary" disabled> 确定 </el-button>
       </div>
     </div>
   </el-form>

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

@@ -70,8 +70,8 @@
       </el-table>
     </div>
     <div class="disposition-bottom">
-      <el-button > 重置 </el-button>
-      <el-button type="primary"> 确定 </el-button>
+      <el-button  disabled> 重置 </el-button>
+      <el-button type="primary" disabled> 确定 </el-button>
     </div>
     <!-- 添加或修改对话框 -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body>

+ 3 - 3
src/views/system/disposition/components/serviceBeidou.vue

@@ -66,8 +66,8 @@
       </el-table>
     </div>
     <div class="disposition-bottom">
-      <el-button > 重置 </el-button>
-      <el-button type="primary"> 确定 </el-button>
+      <el-button disabled> 重置 </el-button>
+      <el-button type="primary" disabled> 确定 </el-button>
     </div>
     <!-- 添加或修改对话框 -->
     <el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body>
@@ -123,7 +123,7 @@ const getList=async ()=>{
   const {data}=await getBeidouAllSysItem()
   processTableData.value=data.list
 
- 
+
 }
 
 // 查询功能

+ 192 - 102
src/views/system/role/index.vue

@@ -11,7 +11,7 @@
             <el-form-item>
               <el-button type="primary" @click="handleQuery"> 查询 </el-button>
               <el-button style="margin-left: 10px" @click="resetQuery"> 重置 </el-button>
-              <el-button  style="margin-left: 10px" type="primary" plain  @click="handleAdd"> 新增 </el-button>
+              <el-button  style="margin-left: 10px" type="primary" plain  @click="handleAdd" disabled> 新增 </el-button>
             </el-form-item>
           </el-form>
         </div>
@@ -45,7 +45,7 @@
                   content="删除"
                   placement="top"
                 >
-                  <el-button type="primary" link  @click="handleDelete(scope.row)">
+                  <el-button disabled type="primary" link  @click="handleDelete(scope.row)">
                     <el-icon >
                       <Delete />
                     </el-icon>
@@ -71,16 +71,17 @@
     </div>
 
     <!-- 添加或修改对话框 -->
-    <el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body>
+    <el-dialog :title="dialog.title" v-model="dialog.visible" width="800px"  append-to-body>
       <el-form ref="formRef" :model="roleForm" :rules="rules" label-width="120px">
         <el-form-item label="角色名称" prop="roleName">
           <el-input v-model="roleForm.roleName" placeholder="请输入角色名称" disabled/>
         </el-form-item>
         <el-form-item label="菜单权限">
-          <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
-          <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
-          <el-checkbox v-model="roleForm.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>
+          <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand()">展开/折叠</el-checkbox>
+          <el-checkbox v-model="roleForm.menuCheckStrictly" @change="handleCheckedTreeConnect()" disabled>父子联动</el-checkbox>
+          <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll()" disabled>全选/全不选</el-checkbox>
           <el-tree
+            style="height: 400px;overflow-y: auto"
             disabled
             class="tree-border"
             :data="menuOptions"
@@ -88,7 +89,9 @@
             ref="menuRef"
             node-key="id"
             :check-strictly="!roleForm.menuCheckStrictly"
-            empty-text="加载中,请稍候"
+            :default-expanded-keys="menuData2"
+            :default-checked-keys="menuData"
+             empty-text="加载中,请稍候"
             :props="{ label: 'title', children: 'children' }"
           ></el-tree>
         </el-form-item>
@@ -96,7 +99,7 @@
       <template #footer>
         <div class="dialog-footer">
           <el-button @click="cancel">取 消</el-button>
-          <el-button type="primary" @click="submitForm">确 定</el-button>
+          <el-button type="primary" @click="submitForm" disabled>确 定</el-button>
         </div>
       </template>
     </el-dialog>
@@ -116,18 +119,43 @@ const menuExpand = ref(false)
 const menuNodeAll = ref(false)
 const menuOptions = ref<any>([])
 const menuRef = ref<any>();
+const menuOptionsData= ref([])
 /** 树权限(展开/折叠)*/
-const handleCheckedTreeExpand = (value: boolean, type: string) => {
-  if (type == "menu") {
-    let treeList = menuOptions.value;
-    for (let i = 0; i < treeList.length; i++) {
-      if (menuRef.value) {
-        menuRef.value.store.nodesMap[treeList[i].id].expanded = value;
-      }
-    }
+const handleCheckedTreeExpand = () => {
+  if (menuExpand.value) {
+    menuExpand.value = true;
+    Object.values(menuRef.value.store.nodesMap).forEach((v: any) => v.expand());
+    return;
+  }
+  menuExpand.value = false;
+  Object.values(menuRef.value.store.nodesMap).forEach((v: any) => v.collapse());
+};
+
+
+
+/** 树权限(全选/全不选) */
+const handleCheckedTreeNodeAll = (value: any, type: string) => {
+  if (menuNodeAll.value) {
+    const allKeys = getAllKeys(menuOptions.value);
+    menuRef.value.setCheckedKeys(allKeys);
+  } else {
+    menuRef.value.setCheckedKeys([]);
   }
 }
 
+const getAllKeys = (data) => {
+  let keys = [];
+  data.forEach(item => {
+    keys.push(item.id);
+    if (item.children) {
+      keys = keys.concat(getAllKeys(item.children));
+    }
+  });
+  return keys;
+};
+/** 树权限(父子联动) */
+const handleCheckedTreeConnect = (value: any, type: string) => {
+}
 
 const convertData = (data: any[]) => {
   return data.map(item => {
@@ -139,139 +167,223 @@ const convertData = (data: any[]) => {
   });
 };
 
+const menuData = ref([])
+const menuData2 = ref([])
+const adminData = ref([1,2,3,4,5,6,7,8,100,101,102,103,104,105,200,201,202,203,204,205,206,207,208,209,300,301,302,303,304,400,401])//管理员
+const observerData = ref([1,2,3,4,5,6,7,8,100,101,102,103,104,105,200,201,202,203,204,205,206,207,208,209,300,303,304,400,401])//观测员
+const forecasterData = ref([1,2,3,4,5,6,7,8,100,101,102,103,104,105,200,201,202,203,204,205,206,207,208,209,400,401])//预报员、装备管理人员
+/** 修改按钮操作 */
+const handleUpdate = async (row?: any) => {
+  reset();
+  dialog.visible = true;
+  dialog.title = "编辑";
+  roleForm.value.roleName = row.a
+  if(row.a==="管理员"){
+    menuData.value = adminData.value
+  }else if(row.a ==="观测员"){
+    menuData.value = observerData.value
+  }else if(row.a ==="观测员"){
+    menuData.value = adminData.value
+  }else if(row.a ==="预报员"){
+    menuData.value = forecasterData.value
+  }else if(row.a ==="装备管理人员"){
+    menuData.value = forecasterData.value
+  }
 
+  getMenuList()
 
-
-
+}
 // 获取菜单列表
 const getMenuList= () => {
      const data = [
        {
-         "title": "实时监测报警",
-         "children": [
+         title: "实时监测报警",
+         id:1,
+         disabled: true,
+         children: [
            {
-             "title": "全网实时数据监测报警",
-             "children": []
+             title: "全网实时数据监测报警",
+             children: [],
+             id:2,
+             disabled: true
            },
            {
-             "title": "全网危险天气监测报警",
-             "children": []
+             title: "全网危险天气监测报警",
+             children: [],
+             id:3,
+             disabled: true
            },
            {
-             "title": "全网设备状态监测报警",
-             "children": []
+             title: "全网设备状态监测报警",
+             children: [],
+             id:4,
+             disabled: true
            },
            {
-             "title": "单站实时数据监测报警",
-             "children": []
+             title: "单站实时数据监测报警",
+             children: [],
+             id:5,
+             disabled: true
            },
            {
-             "title": "单站设备状态监测报警",
-             "children": []
+             title: "单站设备状态监测报警",
+             children: [],
+             id:6,
+             disabled: true
            },
            {
-             "title": "软件状态监测报警",
-             "children": []
+             title: "软件状态监测报警",
+             children: [],
+             id:7,
+             disabled: true
            },
            {
-             "title": "GIS展示",
-             "children": []
+             title: "GIS展示",
+             children: [],
+             id:8,
+             disabled: true
            }
          ]
        },
        {
-         "title": "数据分析显示",
-         "children": [
+         title: "数据分析显示",
+         id:100,
+         disabled: true,
+         children: [
            {
-             "title": "数据综合分析",
-             "children": []
+             title: "数据综合分析",
+             children: [],
+             id:101,
+             disabled: true,
            },
            {
-             "title": "要素曲线分析",
-             "children": []
+             title: "要素曲线分析",
+             children: [],
+             id:102,
+             disabled: true,
            },
            {
-             "title": "风速风向玫瑰图",
-             "children": []
+             title: "风速风向玫瑰图",
+             children: [],
+             id:103,
+             disabled: true,
            },
            {
-             "title": "雨量柱状图分析",
-             "children": []
+             title: "雨量柱状图分析",
+             disabled: true,
+             id:104,
+             children: []
            },
            {
-             "title": "雷电区域分析",
-             "children": []
+             title: "雷电区域分析",
+             disabled: true,
+             id:105,
+             children: []
            }
          ]
        },
        {
-         "title": "数据查询输出",
-         "children": [
+         title: "数据查询输出",
+         disabled: true,
+         id:200,
+         children: [
            {
-             "title": "观测数据查询",
-             "children": []
+             title: "观测数据查询",
+             disabled: true,
+             id:201,
+             children: []
            },
            {
-             "title": "设备健康信息查询",
-             "children": []
+             title: "设备健康信息查询",
+             disabled: true,
+             id:202,
+             children: []
            },
            {
-             "title": "危险天气记录查询",
-             "children": []
+             title: "危险天气记录查询",
+             disabled: true,
+             id:203,
+             children: []
            },
            {
-             "title": "质量审核记录",
-             "children": []
+             title: "质量审核记录",
+             disabled: true,
+             id:204,
+             children: []
            },
            {
-             "title": "值班过程管理",
-             "children": []
+             title: "值班过程管理",
+             id:205,
+             disabled: true,
+             children: []
            },
            {
-             "title": "日观测纪要",
-             "children": []
+             title: "日观测纪要",
+             id:206,
+             disabled: true,
+             children: []
            },
            {
-             "title": "记录簿",
-             "children": []
+             title: "记录簿",
+             disabled: true,
+             id:207,
+             children: []
            },
            {
-             "title": "月报表查询",
-             "children": []
+             title: "月报表查询",
+             disabled: true,
+             id:208,
+             children: []
            },
            {
-             "title": "天气日志",
-             "children": []
+             title: "天气日志",
+             disabled: true,
+             id:209,
+             children: []
            }
          ]
        },
        {
-         "title": "系统管理",
-         "children": [
+         title: "系统管理",
+         disabled: true,
+         id:300,
+         children: [
            {
-             "title": "用户管理",
-             "children": []
+             title: "用户管理",
+             disabled: true,
+             id:301,
+             children: []
            },
            {
-             "title": "角色管理",
-             "children": []
+             title: "角色管理",
+             disabled: true,
+             id:302,
+             children: []
            },
            {
-             "title": "台站管理",
-             "children": []
+             title: "台站管理",
+             disabled: true,
+             id:303,
+             children: []
            },
            {
-             "title": "系统配置",
-             "children": []
+             title: "系统配置",
+             disabled: true,
+             id:304,
+             children: []
            }
          ]
        },
        {
-         "title": "维护管理",
-         "children": [
+         title: "维护管理",
+         disabled: true,
+         id:400,
+         children: [
            {
-             "title": "站点维护记录",
-             "children": []
+             title: "站点维护记录",
+             id:401,
+             disabled: true,
+             children: []
            }
          ]
        }
@@ -279,20 +391,6 @@ const getMenuList= () => {
   menuOptions.value = data
 }
 
-/** 树权限(全选/全不选) */
-const handleCheckedTreeNodeAll = (value: any, type: string) => {
-  if (type == "menu") {
-    menuRef.value?.setCheckedNodes(value ? menuOptions.value as any : []);
-  }
-}
-/** 树权限(父子联动) */
-const handleCheckedTreeConnect = (value: any, type: string) => {
-  if (type == "menu") {
-    roleForm.value.menuCheckStrictly = value;
-  }
-}
-
-
 const pageable = ref<any>({
   pageNum: 1,
   pageSize: 20,
@@ -395,15 +493,7 @@ const handleAdd = () => {
   getMenuList()
 }
 
-/** 修改按钮操作 */
-const handleUpdate = async (row?: any) => {
-  reset();
-  dialog.visible = true;
-  dialog.title = "编辑";
-  roleForm.value.roleName = row.a
-  getMenuList()
 
-}
 
 /** 取消按钮 */
 const cancel = () => {

+ 3 - 3
src/views/system/stations/components/newspapers.vue

@@ -218,9 +218,9 @@
        </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button > 取消 </el-button>
-        <el-button type="primary" plain> 上一步 </el-button>
-        <el-button type="primary"> 完成 </el-button>
+        <el-button disabled> 取消 </el-button>
+        <el-button type="primary" plain disabled> 上一步 </el-button>
+        <el-button type="primary" disabled> 完成 </el-button>
       </div>
     </div>
   </el-form>

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

@@ -532,8 +532,8 @@
         </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button> 取消</el-button>
-        <el-button type="primary"> 下一步</el-button>
+        <el-button disabled> 取消</el-button>
+        <el-button type="primary" disabled> 下一步</el-button>
       </div>
     </div>
   </el-form>

+ 5 - 5
src/views/system/stations/components/strategySafeguard.vue

@@ -105,9 +105,9 @@
         </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button > 取消 </el-button>
-        <el-button type="primary" plain> 上一步 </el-button>
-        <el-button type="primary"> 下一步 </el-button>
+        <el-button disabled> 取消 </el-button>
+        <el-button type="primary" plain disabled> 上一步 </el-button>
+        <el-button type="primary" disabled> 下一步 </el-button>
       </div>
     </div>
   </el-form>
@@ -212,7 +212,7 @@
     <template #footer>
       <div class="dialog-footer">
         <el-button @click="cancel">取 消</el-button>
-<!--        <el-button type="primary" @click="submitForm">确 定</el-button>-->
+        <el-button type="primary" @click="submitForm" disabled>确 定</el-button>
       </div>
     </template>
   </el-dialog>
@@ -353,7 +353,7 @@
     <template #footer>
       <div class="dialog-footer">
         <el-button @click="cancel">取 消</el-button>
-        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button type="primary" @click="submitForm" disabled>确 定</el-button>
       </div>
     </template>
   </el-dialog>

+ 3 - 3
src/views/system/stations/components/threshold.vue

@@ -153,9 +153,9 @@
         </el-row>
       </div>
       <div class="disposition-bottom">
-        <el-button > 取消 </el-button>
-        <el-button type="primary" plain> 上一步 </el-button>
-        <el-button type="primary"> 下一步 </el-button>
+        <el-button disabled> 取消 </el-button>
+        <el-button type="primary" plain disabled> 上一步 </el-button>
+        <el-button type="primary" disabled> 下一步 </el-button>
       </div>
     </div>
   </el-form>

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

@@ -14,7 +14,7 @@
             <el-form-item>
               <el-button type="primary" @click="handleQuery"> 查询 </el-button>
               <el-button style="margin-left: 10px" @click="resetQuery"> 重置 </el-button>
-<!--              <el-button  style="margin-left: 10px" type="primary" plain  @click="handleAdd"> 新增 </el-button>-->
+              <el-button  style="margin-left: 10px" type="primary" plain  @click="handleAdd" disabled> 新增 </el-button>
             </el-form-item>
           </el-form>
         </div>