genlitex 1 месяц назад
Родитель
Сommit
41b5d9901b

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/assets/index-GQONOpoG.css


Разница между файлами не показана из-за своего большого размера
+ 4 - 0
dist/assets/index-lqvJPl-L.js


+ 14 - 0
dist/index.html

@@ -0,0 +1,14 @@
+<!doctype html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <link rel="icon" type="image/svg+xml" href="/vite.svg" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Vite + Vue</title>
+    <script type="module" crossorigin src="/ide/proxy/6001/assets/index-lqvJPl-L.js"></script>
+    <link rel="stylesheet" crossorigin href="/ide/proxy/6001/assets/index-GQONOpoG.css">
+  </head>
+  <body>
+    <div id="app"></div>
+  </body>
+</html>

+ 25 - 1
src/router/index.js

@@ -1,11 +1,35 @@
 import { createRouter, createWebHashHistory } from 'vue-router'
 import HomeView from '../views/HomeView.vue'
+import LoginView from '../views/LoginView.vue'
+import PortalView from '../views/PortalView.vue'
+import OrganizationView from '../views/OrganizationView.vue'
+import UserListView from '../views/UserListView.vue'
 
 const routes = [
   {
     path: '/',
-    name: 'home',
+    name: 'Home',
     component: HomeView
+  },
+  {
+    path: '/login',
+    name: 'Login',
+    component: LoginView
+  },
+  {
+    path: '/portal',
+    name: 'Portal',
+    component: PortalView
+  },
+  {
+    path: '/organization',
+    name: 'Organization',
+    component: OrganizationView
+  },
+  {
+    path: '/user-list',
+    name: 'UserList',
+    component: UserListView
   }
 ]
 

+ 89 - 0
src/views/LoginView.vue

@@ -0,0 +1,89 @@
+<template>
+  <div class="min-h-screen bg-gradient-to-br from-blue-500 to-blue-200">
+    <div class="container mx-auto px-4">
+      <!-- Header -->
+      <header class="flex justify-between items-center py-6">
+        <div class="text-2xl font-bold text-white">
+          <h1>FSG</h1>
+        </div>
+        <button class="text-blue-600 hover:text-blue-700">
+          中文
+        </button>
+      </header>
+
+      <!-- Login Form -->
+      <div class="max-w-md mx-auto mt-12 bg-white rounded-lg shadow-lg p-8">
+        <h2 class="text-3xl font-bold text-center mb-2 text-blue-600">登录</h2>
+        <p class="text-center text-gray-600 mb-8">请登录系统</p>
+
+        <form @submit.prevent="handleSubmit">
+          <div class="space-y-6">
+            <div>
+              <label class="block text-sm font-medium text-gray-700 mb-1">用户名</label>
+              <input
+                  v-model="form.username"
+                  type="text"
+                  placeholder="用户名"
+                  class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+              />
+            </div>
+
+            <div>
+              <label class="block text-sm font-medium text-gray-700 mb-1">密码</label>
+              <input
+                  v-model="form.password"
+                  type="password"
+                  placeholder="密码"
+                  class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+              />
+            </div>
+
+            <div class="flex items-center justify-between">
+              <label class="flex items-center">
+                <input
+                    v-model="form.remember"
+                    type="checkbox"
+                    class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500"
+                />
+                <span class="ml-2 text-sm text-gray-600">记住我</span>
+              </label>
+              <a href="#" class="text-sm text-blue-600 hover:text-blue-700">忘记密码?</a>
+            </div>
+
+            <button
+                type="submit"
+                class="w-full bg-blue-600 text-white py-2 px-4 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2"
+            >
+              登录
+            </button>
+          </div>
+        </form>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref } from 'vue'
+import { useRouter } from 'vue-router'
+
+const form = ref({
+  username: '',
+  password: '',
+  remember: false
+})
+
+const router = useRouter()
+
+const handleSubmit = () => {
+  if (form.value.username === 'admin' && form.value.password === 'admin') {
+    router.push('/portal')
+  } else {
+    alert('Invalid username or password')
+  }
+}
+</script>
+
+<style scoped>
+/* Add any additional custom styles here if needed */
+</style>

+ 76 - 0
src/views/OrganizationView.vue

@@ -0,0 +1,76 @@
+<template>
+  <div class="min-h-screen bg-gray-100 flex">
+    <!-- Left Sidebar -->
+    <aside class="bg-gray-800 w-64 text-white p-6">
+      <div class="mb-6">
+        <h1 class="text-2xl font-bold">FSG</h1>
+      </div>
+      <nav>
+        <ul class="space-y-4">
+          <li>
+            <a href="#/" class="flex items-center text-gray-400 hover:text-white">
+              <Home class="w-4 h-4 mr-2" />
+              首页
+            </a>
+          </li>
+          <li>
+            <a href="#/organization" class="flex items-center text-white font-bold">
+              <Users class="w-4 h-4 mr-2" />
+              组织架构
+            </a>
+          </li>
+          <li>
+            <a href="#/user-list" class="flex items-center text-gray-400 hover:text-white">
+              <List class="w-4 h-4 mr-2" />
+              用户列表信息
+            </a>
+          </li>
+          <li>
+            <a href="#" class="flex items-center text-gray-400 hover:text-white">
+              <Layers class="w-4 h-4 mr-2" />
+              系统模块1
+            </a>
+          </li>
+          <li>
+            <a href="#" class="flex items-center text-gray-400 hover:text-white">
+              <Layers class="w-4 h-4 mr-2" />
+              系统模块2
+            </a>
+          </li>
+        </ul>
+      </nav>
+    </aside>
+
+    <!-- Main Content Area -->
+    <main class="flex-1 p-6">
+      <h2 class="text-3xl font-bold mb-6">组织架构</h2>
+      <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <div class="flex items-center mb-4">
+            <img src="" alt="Department Avatar" class="w-10 h-10 rounded-full mr-4" />
+            <div>
+              <h3 class="text-xl font-bold">部门名称</h3>
+              <p class="text-gray-600">部门职位</p>
+            </div>
+          </div>
+          <ul class="space-y-2">
+            <li class="flex items-center">
+              <img src="" alt="Employee Avatar" class="w-6 h-6 rounded-full mr-2" />
+              <span>员工姓名</span>
+            </li>
+            <!-- Repeat for each employee -->
+          </ul>
+        </div>
+        <!-- Repeat for each department -->
+      </div>
+    </main>
+  </div>
+</template>
+
+<script setup>
+import { Home, Users, List, Layers } from 'lucide-vue-next'
+</script>
+
+<style scoped>
+/* Add any additional custom styles here if needed */
+</style>

+ 92 - 0
src/views/PortalView.vue

@@ -0,0 +1,92 @@
+<template>
+  <div class="min-h-screen bg-gray-100 flex">
+    <!-- Left Sidebar -->
+    <aside class="bg-[#08002E] w-64 text-white p-6">
+      <div class="mb-6">
+        <h1 class="text-2xl font-bold">FSG</h1>
+      </div>
+      <nav>
+        <ul class="space-y-4">
+          <li>
+            <a href="#/" class="flex items-center text-gray-400 hover:text-white">
+              <Home class="w-4 h-4 mr-2" />
+              首页
+            </a>
+          </li>
+          <li>
+            <a href="#/organization" class="flex items-center text-gray-400 hover:text-white">
+              <Users class="w-4 h-4 mr-2" />
+              组织架构
+            </a>
+          </li>
+          <li>
+            <a href="#/user-list" class="flex items-center text-gray-400 hover:text-white">
+              <List class="w-4 h-4 mr-2" />
+              用户列表信息
+            </a>
+          </li>
+          <li>
+            <a href="#" class="flex items-center text-gray-400 hover:text-white">
+              <Layers class="w-4 h-4 mr-2" />
+              系统模块1
+            </a>
+          </li>
+          <li>
+            <a href="#" class="flex items-center text-gray-400 hover:text-white">
+              <Layers class="w-4 h-4 mr-2" />
+              系统模块2
+            </a>
+          </li>
+        </ul>
+      </nav>
+    </aside>
+
+    <!-- Right Content Area -->
+    <main class="flex-1 p-6">
+      <div class="grid grid-cols-4 gap-4 mb-6">
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">合同审核</h3>
+          <p>相关数据指标</p>
+        </div>
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">合同签署</h3>
+          <p>相关数据指标</p>
+        </div>
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">合同登记</h3>
+          <p>相关数据指标</p>
+        </div>
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">合同履约</h3>
+          <p>相关数据指标</p>
+        </div>
+      </div>
+      <div class="grid grid-cols-4 gap-4">
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">特办事项</h3>
+          <p>相关内容</p>
+        </div>
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">项目进程</h3>
+          <p>相关内容</p>
+        </div>
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">快捷功能</h3>
+          <p>相关内容</p>
+        </div>
+        <div class="bg-white p-4 rounded-lg shadow-md">
+          <h3 class="text-xl font-bold mb-2">合同类型统计</h3>
+          <p>相关内容</p>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+
+<script setup>
+import { Home, Users, List, Layers } from 'lucide-vue-next'
+</script>
+
+<style scoped>
+/* Add any additional custom styles here if needed */
+</style>

+ 147 - 0
src/views/UserListView.vue

@@ -0,0 +1,147 @@
+<template>
+  <div class="min-h-screen bg-gray-100 flex">
+    <!-- Top Header -->
+    <header class="bg-white shadow-md w-full px-6 py-4 flex items-center justify-between">
+      <div class="flex items-center">
+        <h1 class="text-2xl font-bold">FSG</h1>
+        <div class="ml-4">
+          <input
+            type="text"
+            placeholder="搜索..."
+            class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+          />
+        </div>
+      </div>
+      <div class="flex items-center space-x-4">
+        <Bell class="w-6 h-6 text-gray-600 cursor-pointer" />
+        <MessageCircle class="w-6 h-6 text-gray-600 cursor-pointer" />
+        <Settings class="w-6 h-6 text-gray-600 cursor-pointer" />
+        <img src="" alt="User Avatar" class="w-10 h-10 rounded-full ml-4" />
+      </div>
+    </header>
+
+    <!-- Left Sidebar -->
+    <aside class="bg-gray-800 w-64 text-white p-6">
+      <nav>
+        <ul class="space-y-4">
+          <li>
+            <a href="#/" class="flex items-center text-gray-400 hover:text-white">
+              <Home class="w-4 h-4 mr-2" />
+              首页
+            </a>
+          </li>
+          <li>
+            <a href="#/organization" class="flex items-center text-gray-400 hover:text-white">
+              <Users class="w-4 h-4 mr-2" />
+              组织架构
+            </a>
+          </li>
+          <li>
+            <a href="#/user-list" class="flex items-center text-white font-bold">
+              <List class="w-4 h-4 mr-2" />
+              用户列表信息
+            </a>
+          </li>
+          <li>
+            <a href="#" class="flex items-center text-gray-400 hover:text-white">
+              <Layers class="w-4 h-4 mr-2" />
+              系统模块1
+            </a>
+          </li>
+          <li>
+            <a href="#" class="flex items-center text-gray-400 hover:text-white">
+              <Layers class="w-4 h-4 mr-2" />
+              系统模块2
+            </a>
+          </li>
+        </ul>
+      </nav>
+    </aside>
+
+    <!-- Main Content Area -->
+    <main class="flex-1 p-6">
+      <h2 class="text-3xl font-bold mb-6">用户列表信息</h2>
+      <div class="mb-6">
+        <div class="flex items-center justify-between">
+          <div class="flex items-center space-x-4">
+            <input
+              type="text"
+              placeholder="雇员姓名"
+              class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+            />
+            <input
+              type="text"
+              placeholder="证件类型"
+              class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+            />
+            <input
+              type="text"
+              placeholder="证件号"
+              class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+            />
+            <input
+              type="text"
+              placeholder="手机号"
+              class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+            />
+            <input
+              type="text"
+              placeholder="出生日期"
+              class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+            />
+            <input
+              type="text"
+              placeholder="创建日期"
+              class="px-4 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
+            />
+          </div>
+          <button class="bg-blue-600 text-white py-2 px-4 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2">
+            搜索
+          </button>
+          <button class="bg-green-600 text-white py-2 px-4 rounded-md hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-green-500 focus:ring-offset-2">
+            导出
+          </button>
+        </div>
+      </div>
+      <table class="w-full border-collapse">
+        <thead>
+          <tr>
+            <th class="py-2 px-4 border-b">头像</th>
+            <th class="py-2 px-4 border-b">用户名</th>
+            <th class="py-2 px-4 border-b">操作</th>
+          </tr>
+        </thead>
+        <tbody>
+          <tr>
+            <td class="py-2 px-4 border-b">
+              <img src="" alt="User Avatar" class="w-10 h-10 rounded-full" />
+            </td>
+            <td class="py-2 px-4 border-b">用户名</td>
+            <td class="py-2 px-4 border-b">
+              <button class="bg-red-600 text-white py-1 px-2 rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2">
+                删除
+              </button>
+            </td>
+          </tr>
+          <!-- Repeat for each user -->
+        </tbody>
+      </table>
+      <div class="mt-6 flex justify-end">
+        <button class="bg-blue-600 text-white py-2 px-4 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2">
+          上一页
+        </button>
+        <button class="bg-blue-600 text-white py-2 px-4 rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2">
+          下一页
+        </button>
+      </div>
+    </main>
+  </div>
+</template>
+
+<script setup>
+import { Home, Users, List, Layers, Bell, MessageCircle, Settings } from 'lucide-vue-next'
+</script>
+
+<style scoped>
+/* Add any additional custom styles here if needed */
+</style>

Некоторые файлы не были показаны из-за большого количества измененных файлов