Quellcode durchsuchen

1.首页通知布局2.配置ip地址。

jiaxiaoqiang vor 11 Monaten
Ursprung
Commit
04fc028104
5 geänderte Dateien mit 188 neuen und 22 gelöschten Zeilen
  1. 19 1
      src/api/user/index.ts
  2. 30 16
      src/views/main/main.vue
  3. 65 0
      src/views/main/message.vue
  4. 23 5
      src/views/main/set.vue
  5. 51 0
      src/views/sets/address.vue

+ 19 - 1
src/api/user/index.ts

@@ -1,6 +1,6 @@
 import request from "@/utils/request";
 import { AxiosPromise } from "axios";
-import { UserForm, UserInfo, UserPageVO, UserQuery } from "./types";
+import { UserForm, UserPageVO, UserQuery } from "./types";
 
 /**
  * 登录成功后获取用户信息(昵称、头像、权限集合和角色集合)
@@ -138,3 +138,21 @@ export function importUser(deptId: number, file: File) {
     },
   });
 }
+
+// 综合管理平台菜单管理列表查询
+export function systemMenuList() {
+  return request({
+    url: "/api/v1/syn/menu/list",
+    method: "post",
+    data: {},
+  });
+}
+
+// 更新综合管理平台菜单管理
+export function updateSystemMenuList(list: any[]) {
+  return request({
+    url: "/api/v1/syn/menu/update",
+    method: "post",
+    data: list,
+  });
+}

+ 30 - 16
src/views/main/main.vue

@@ -1,20 +1,33 @@
 <template>
-  <el-row :gutter="20">
-    <el-col :span="16">
-      <Systems />
-      <el-row :gutter="20">
-        <el-col :span="20">
-          <ScreenEntry />
-        </el-col>
-        <el-col :span="4">
-          <Set />
-        </el-col>
-      </el-row>
-    </el-col>
-    <el-col :span="8">
-      <Task />
-    </el-col>
-  </el-row>
+  <div>
+    <el-row :gutter="20">
+      <el-col :span="16">
+        <Systems />
+        <el-row :gutter="20">
+          <el-col :span="20">
+            <ScreenEntry />
+          </el-col>
+          <el-col :span="4">
+            <Set />
+          </el-col>
+        </el-row>
+      </el-col>
+      <el-col :span="8">
+        <Task />
+      </el-col>
+    </el-row>
+    <el-row :gutter="20">
+      <el-col :span="8">
+        <Message />
+      </el-col>
+      <el-col :span="8">
+        <Message />
+      </el-col>
+      <el-col :span="8">
+        <Message />
+      </el-col>
+    </el-row>
+  </div>
 </template>
 
 <script lang="ts" setup>
@@ -22,6 +35,7 @@ import Systems from "@/views/systems/systems.vue";
 import ScreenEntry from "@/views/main/screenEntry.vue";
 import Set from "@/views/main/set.vue";
 import Task from "@/views/main/task.vue";
+import Message from "@/views/main/message.vue";
 
 const router = useRouter();
 const gotoZHDP = () => {

+ 65 - 0
src/views/main/message.vue

@@ -0,0 +1,65 @@
+<template>
+  <div class="common-box" style="margin-top: 20px">
+    <TopTitle icon="laba" title="公告通知" />
+    <div class="list-box">
+      <el-scrollbar>
+        <div v-for="(item, index) in dataList" :key="index" class="line">
+          <div class="title">{{ item.title }}1</div>
+          <div class="date">{{ item.date }}2</div>
+        </div>
+      </el-scrollbar>
+    </div>
+  </div>
+</template>
+
+<script lang="ts" setup>
+const dataList = ref<any[]>([
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+  {},
+]);
+</script>
+
+<style lang="scss" scoped>
+.list-box {
+  margin-top: 5px;
+  height: 300px;
+  padding: 0 20px;
+
+  .line {
+    border-bottom: 1px solid #eee;
+    line-height: 25px;
+    display: flex;
+    justify-content: space-between;
+
+    .title {
+      font-size: 14px;
+      color: #1a1a1a;
+      text-align: left;
+    }
+
+    .date {
+      font-size: 12px;
+      color: #666666;
+      text-align: right;
+    }
+  }
+}
+</style>

+ 23 - 5
src/views/main/set.vue

@@ -14,19 +14,36 @@
           size="60"
         />
         <h3 class="sys-item-title">{{ item.menuName }}</h3>
+        <h3 class="sys-item-title" @click="openDrawer">配置IP地址</h3>
       </div>
     </div>
+    <el-drawer
+      v-model="drawerVisible"
+      :destroy-on-close="true"
+      title="配置IP地址"
+    >
+      <Addresss @finish="saveAddressFinish" />
+    </el-drawer>
   </div>
 </template>
 
 <script lang="ts" setup>
 import { useUserStore } from "@/store";
+import Addresss from "@/views/sets/address.vue";
 
 const userStore = useUserStore();
 
-const sysData = ref<any[]>([{ menuName: "设置", icon: "set" }]);
+const sysData = ref<any[]>([{ menuName: "设置权限", icon: "set" }]);
 
 const openSetPage = () => {};
+
+const drawerVisible = ref(false);
+const openDrawer = () => {
+  drawerVisible.value = true;
+};
+const saveAddressFinish = () => {
+  drawerVisible.value = false;
+};
 </script>
 
 <style lang="scss" scoped>
@@ -53,11 +70,12 @@ const openSetPage = () => {};
     font-size: 18px;
     font-weight: bold;
     margin-bottom: 10px;
+    cursor: pointer;
   }
 }
 
-.sys-item:hover {
-  background-color: #87cefa;
-  cursor: pointer;
-}
+//.sys-item:hover {
+//  background-color: #87cefa;
+//  cursor: pointer;
+//}
 </style>

+ 51 - 0
src/views/sets/address.vue

@@ -0,0 +1,51 @@
+<template>
+  <div>
+    <div v-for="item in menuList" :key="item.id">
+      <div>{{ item.menuName }}</div>
+      <el-form :model="item" label-width="100">
+        <el-form-item label="ip" prop="ip">
+          <el-input v-model="item.ip" />
+        </el-form-item>
+        <el-form-item label="port" prop="port">
+          <el-input v-model="item.port" />
+        </el-form-item>
+      </el-form>
+    </div>
+    <el-form-item>
+      <el-button @click="cancel"> 取消</el-button>
+      <el-button type="primary" @click="saveAddress">保存</el-button>
+    </el-form-item>
+  </div>
+</template>
+
+<script lang="ts" setup>
+import { onMounted } from "vue";
+import { systemMenuList, updateSystemMenuList } from "@/api/user";
+
+const emit = defineEmits(["finish"]);
+
+const menuList = ref<any[]>([]);
+
+onMounted(() => {
+  systemMenuList().then((res) => {
+    menuList.value = res.data ?? [];
+  });
+});
+
+const cancel = () => {
+  emit("finish");
+};
+
+const finish = () => {
+  emit("finish");
+};
+
+const saveAddress = () => {
+  updateSystemMenuList(menuList.value).then(() => {
+    ElMessage.success("保存成功");
+    finish();
+  });
+};
+</script>
+
+<style lang="scss" scoped></style>