20251128修改前端界面
This commit is contained in:
152
index.html
152
index.html
@@ -1,20 +1,164 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<title></title>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="description" content="天津市林草资源专项调查管理平台 - 专业的林业资源管理与调查系统">
|
||||
<meta name="keywords" content="林草资源,林业管理,资源调查,天津林业">
|
||||
<meta name="author" content="天津市林草资源专项调查管理平台">
|
||||
<title>天津市林草资源专项调查管理平台</title>
|
||||
|
||||
<!-- 预加载字体 -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/png" href="/static/img/favicon.png">
|
||||
|
||||
<!-- 地图API -->
|
||||
<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=eT72K2voLkPnlDLUBzeRroxMW5vIrbH1"></script>
|
||||
<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.4&key=9355e88d3f4f88925d8b6a8ba53d19c6&plugin=AMap.MouseTool&plugin=AMap.Autocomplete&plugin=AMap.PolyEditor"></script>
|
||||
<!--<link href="//unpkg.com/progressive-image/dist/index.css" rel="stylesheet" type="text/css">-->
|
||||
|
||||
<!-- 页面加载样式 -->
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html, body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
font-family: 'PingFang SC', 'Microsoft YaHei', 'SimHei', 'STHeiti', 'Helvetica Neue', Arial, sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
background: #F1F8F4;
|
||||
}
|
||||
|
||||
#app {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* 加载动画 */
|
||||
.loading-container {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #F1F8F4;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 9999;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.loading-container.hidden {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.loading-logo {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
margin-bottom: 20px;
|
||||
animation: pulse 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
.loading-spinner {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border: 4px solid rgba(76, 175, 80, 0.2);
|
||||
border-top-color: #4CAF50;
|
||||
border-radius: 50%;
|
||||
animation: spin 1s linear infinite;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.loading-text {
|
||||
color: #2E7D32;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
letter-spacing: 2px;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
@keyframes pulse {
|
||||
0%, 100% { transform: scale(1); opacity: 1; }
|
||||
50% { transform: scale(1.1); opacity: 0.8; }
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #E8F5E9;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #81C784;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #66BB6A;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 加载动画 -->
|
||||
<div id="loading" class="loading-container">
|
||||
<div class="loading-spinner"></div>
|
||||
<div class="loading-text">加载中...</div>
|
||||
</div>
|
||||
|
||||
<div id="app"></div>
|
||||
|
||||
<!-- built files will be auto injected -->
|
||||
<script type="text/javascript" src="/static/js/sockjs.min.js"></script>
|
||||
<script>
|
||||
const myname = 'Collection System v20250902beta';
|
||||
// 平台名称配置
|
||||
const myname = '天津市林草资源专项调查管理平台 v20251126beta';
|
||||
document.getElementsByTagName('title')[0].innerText = myname;
|
||||
|
||||
// 页面加载完成后隐藏加载动画
|
||||
window.addEventListener('load', function() {
|
||||
setTimeout(function() {
|
||||
const loading = document.getElementById('loading');
|
||||
if (loading) {
|
||||
loading.classList.add('hidden');
|
||||
setTimeout(function() {
|
||||
loading.style.display = 'none';
|
||||
}, 300);
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
|
||||
// 如果 Vue 应用已经加载,也隐藏加载动画
|
||||
if (document.readyState === 'complete') {
|
||||
setTimeout(function() {
|
||||
const loading = document.getElementById('loading');
|
||||
if (loading) {
|
||||
loading.classList.add('hidden');
|
||||
setTimeout(function() {
|
||||
loading.style.display = 'none';
|
||||
}, 300);
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -16,6 +16,8 @@ export default {
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
text-align: center;
|
||||
color: #2c3e50;
|
||||
color: #2E7D32;
|
||||
background: #F1F8F4;
|
||||
min-height: 100vh;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -37,14 +37,14 @@
|
||||
|
||||
.el-button:focus,
|
||||
.el-button:hover {
|
||||
color: #9dbbe7;
|
||||
border-color: rgb(193, 198, 204);
|
||||
background-color: rgb(234, 236, 238)
|
||||
color: #4CAF50;
|
||||
border-color: #81C784;
|
||||
background-color: #E8F5E9
|
||||
}
|
||||
|
||||
.el-button:active {
|
||||
color: #9dbbe7;
|
||||
border-color: rgb(43, 59, 77);
|
||||
color: #2E7D32;
|
||||
border-color: #4CAF50;
|
||||
outline: 0
|
||||
}
|
||||
|
||||
@@ -59,14 +59,14 @@
|
||||
.el-button.is-plain:focus,
|
||||
.el-button.is-plain:hover {
|
||||
background: #FFF;
|
||||
border-color: #264672;
|
||||
color: #264672
|
||||
border-color: #4CAF50;
|
||||
color: #2E7D32
|
||||
}
|
||||
|
||||
.el-button.is-active,
|
||||
.el-button.is-plain:active {
|
||||
color: rgb(43, 59, 77);
|
||||
border-color: rgb(43, 59, 77)
|
||||
color: #1B5E20;
|
||||
border-color: #4CAF50
|
||||
}
|
||||
|
||||
.el-button.is-plain:active {
|
||||
@@ -125,21 +125,21 @@
|
||||
|
||||
.el-button--primary {
|
||||
color: #FFF;
|
||||
background-color: #9dbbe7;
|
||||
border-color: #9dbbe7
|
||||
background-color: #4CAF50;
|
||||
border-color: #4CAF50
|
||||
}
|
||||
|
||||
.el-button--primary:focus,
|
||||
.el-button--primary:hover {
|
||||
background: rgb(89, 103, 120);
|
||||
border-color: rgb(89, 103, 120);
|
||||
background: #66BB6A;
|
||||
border-color: #66BB6A;
|
||||
color: #FFF
|
||||
}
|
||||
|
||||
.el-button--primary.is-active,
|
||||
.el-button--primary:active {
|
||||
background: rgb(43, 59, 77);
|
||||
border-color: rgb(43, 59, 77);
|
||||
background: #388E3C;
|
||||
border-color: #388E3C;
|
||||
color: #FFF
|
||||
}
|
||||
|
||||
@@ -157,21 +157,21 @@
|
||||
}
|
||||
|
||||
.el-button--primary.is-plain {
|
||||
color: #264672;
|
||||
background: rgb(234, 236, 238);
|
||||
border-color: rgb(172, 179, 187)
|
||||
color: #2E7D32;
|
||||
background: #E8F5E9;
|
||||
border-color: #81C784
|
||||
}
|
||||
|
||||
.el-button--primary.is-plain:focus,
|
||||
.el-button--primary.is-plain:hover {
|
||||
background: #264672;
|
||||
border-color: #264672;
|
||||
background: #4CAF50;
|
||||
border-color: #4CAF50;
|
||||
color: #FFF
|
||||
}
|
||||
|
||||
.el-button--primary.is-plain:active {
|
||||
background: rgb(43, 59, 77);
|
||||
border-color: rgb(43, 59, 77);
|
||||
background: #388E3C;
|
||||
border-color: #388E3C;
|
||||
color: #FFF;
|
||||
outline: 0
|
||||
}
|
||||
@@ -480,7 +480,7 @@
|
||||
}
|
||||
|
||||
.el-button--text {
|
||||
color: #264672;
|
||||
color: #2E7D32;
|
||||
background: 0 0;
|
||||
padding-left: 0;
|
||||
padding-right: 0
|
||||
@@ -488,13 +488,13 @@
|
||||
|
||||
.el-button--text:focus,
|
||||
.el-button--text:hover {
|
||||
color: rgb(89, 103, 120);
|
||||
color: #4CAF50;
|
||||
border-color: transparent;
|
||||
background-color: transparent
|
||||
}
|
||||
|
||||
.el-button--text:active {
|
||||
color: rgb(43, 59, 77);
|
||||
color: #1B5E20;
|
||||
background-color: transparent
|
||||
}
|
||||
|
||||
|
||||
@@ -246,6 +246,9 @@
|
||||
top: 70px;
|
||||
width: 100%;
|
||||
height: calc(100% - 50px);
|
||||
background: linear-gradient(160deg, #E8F5E9 0%, #F5FBF6 45%, #FFFFFF 100%);
|
||||
box-shadow: inset 0 20px 40px rgba(76, 175, 80, 0.08);
|
||||
border-top: 1px solid rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
|
||||
#tablecontainer {
|
||||
@@ -380,9 +383,6 @@
|
||||
#leftPanelScroll {
|
||||
overflow: hidden;
|
||||
height: calc(100% - 210px);
|
||||
}
|
||||
|
||||
.left-content {
|
||||
margin-left: 0px !important;
|
||||
width: 355px !important;
|
||||
}
|
||||
@@ -448,6 +448,8 @@
|
||||
#leftPanelScroll {
|
||||
overflow: hidden;
|
||||
height: calc(100% - 280px);
|
||||
margin-left: 0px !important;
|
||||
width: 355px !important;
|
||||
}
|
||||
|
||||
.container .topbar-wrap .topbar-title {
|
||||
@@ -459,11 +461,6 @@
|
||||
top: 280px !important;
|
||||
}
|
||||
|
||||
.left-content {
|
||||
margin-left: 0px !important;
|
||||
width: 355px !important;
|
||||
}
|
||||
|
||||
#toLeft {
|
||||
left: 355px !important;
|
||||
}
|
||||
@@ -554,32 +551,66 @@
|
||||
}
|
||||
|
||||
#leftPanelScroll {
|
||||
overflow: hidden;
|
||||
overflow-y: scroll;
|
||||
height: calc(100% - 70px);
|
||||
|
||||
padding: 20px 24px;
|
||||
width: 420px;
|
||||
box-shadow: 0 15px 35px rgba(76, 175, 80, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
||||
backdrop-filter: blur(4px);
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
/* 滚动条整体样式 */
|
||||
width: 7px;
|
||||
/* 高宽分别对应横竖滚动条的尺寸 */
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
/* 滚动条里面小方块 */
|
||||
background: linear-gradient(180deg, #81C784, #43A047);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
/* 滚动条里面轨道 */
|
||||
background: rgba(232, 245, 233, 0.9);
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#leftPanel {
|
||||
//opacity: 0.9;
|
||||
width: 450px;
|
||||
position: absolute;
|
||||
top: 70px;
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
z-index: 98;
|
||||
padding-left: 10px;
|
||||
background-color: rgba(247, 248, 241, 0.9);
|
||||
box-shadow: 0 2px 40px 0 rgba(157, 187, 231, 0.50);
|
||||
border-radius: 0 0 4px 4px 4px 4px 0 0;
|
||||
box-shadow: 1px 0 5px rgba(0, 0, 0, 0.5);
|
||||
padding: 0 16px 16px 16px;
|
||||
background: linear-gradient(180deg, rgba(232, 245, 233, 0.98) 0%, rgba(241, 248, 244, 0.98) 100%);
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.2);
|
||||
box-shadow: 2px 0 16px rgba(46, 125, 50, 0.12);
|
||||
backdrop-filter: blur(6px);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.el-collapse-item__wrap {
|
||||
background-color: #F7F8F1 !important;
|
||||
background: rgba(241, 248, 244, 0.95) !important;
|
||||
border: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
border-radius: 16px !important;
|
||||
margin-bottom: 12px;
|
||||
box-shadow: 0 6px 18px rgba(76, 175, 80, 0.12);
|
||||
}
|
||||
|
||||
.el-collapse-item__header {
|
||||
background-color: #F7F8F1 !important;
|
||||
background: linear-gradient(90deg, rgba(224, 242, 229, 0.95), rgba(248, 253, 249, 0.95)) !important;
|
||||
color: #1B5E20 !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 15px !important;
|
||||
font-weight: 600;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35);
|
||||
border-radius: 16px 16px 0 0 !important;
|
||||
padding: 14px 18px;
|
||||
}
|
||||
|
||||
.el-breadcrumb__inner {
|
||||
@@ -599,32 +630,6 @@
|
||||
// }
|
||||
|
||||
|
||||
.left-content {
|
||||
overflow-y: scroll;
|
||||
height: 100%;
|
||||
background-color: #F7F8F1;
|
||||
margin-left: 20px;
|
||||
width: 435px;
|
||||
|
||||
&::-webkit-scrollbar {
|
||||
/* 滚动条整体样式 */
|
||||
width: 5px;
|
||||
/* 高宽分别对应横竖滚动条的尺寸 */
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
/* 滚动条里面小方块 */
|
||||
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
|
||||
background: #535353;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
/* 滚动条里面轨道 */
|
||||
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
|
||||
background: #ededed;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ body {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
background: #F1F8F4;
|
||||
}
|
||||
|
||||
a {
|
||||
@@ -48,30 +49,32 @@ ul {
|
||||
|
||||
.el-form-item__label {
|
||||
font-family: PingFangSC-Regular;
|
||||
color: #264672 !important;
|
||||
color: #2E7D32 !important;
|
||||
}
|
||||
|
||||
.el-pager li {
|
||||
background: rgb(247, 248, 241) !important;
|
||||
background: #E8F5E9 !important;
|
||||
color: #2E7D32 !important;
|
||||
}
|
||||
|
||||
.el-pagination button {
|
||||
background: rgb(247, 248, 241) !important;
|
||||
background: #E8F5E9 !important;
|
||||
color: #2E7D32 !important;
|
||||
}
|
||||
|
||||
#searchList {
|
||||
text-align: left;
|
||||
width: 91%;
|
||||
margin-left: 4%;
|
||||
border: 1px solid #9DBBE7 !important;
|
||||
border: 1px solid #81C784 !important;
|
||||
border-radius: 4px;
|
||||
color: rgb(38, 70, 114);
|
||||
color: #2E7D32;
|
||||
font-size: 14px !important;
|
||||
font-family: PingFangSC-Regular;
|
||||
}
|
||||
|
||||
.backcolor {
|
||||
background: rgba(157, 187, 231, 0.3);
|
||||
background: rgba(129, 199, 132, 0.3);
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
@@ -80,10 +83,12 @@ ul {
|
||||
}
|
||||
|
||||
.dateBtn {
|
||||
background-color: #264672 !important;
|
||||
background-color: #4CAF50 !important;
|
||||
font-family: PingFangSC-Regular;
|
||||
color: #FFFFFF !important;
|
||||
margin-bottom: 15px;
|
||||
border: none !important;
|
||||
box-shadow: 0 2px 4px rgba(46, 125, 50, 0.2);
|
||||
}
|
||||
|
||||
.el-tabs__nav-scroll {
|
||||
@@ -96,9 +101,9 @@ ul {
|
||||
height: 70px;
|
||||
line-height: 70px;
|
||||
padding: 0px;
|
||||
opacity: 0.9;
|
||||
background: #F7F8F1;
|
||||
box-shadow: 0 2px 40px 0 rgba(157, 187, 231, 0.50);
|
||||
background: #E8F5E9;
|
||||
box-shadow: 0 2px 8px 0 rgba(46, 125, 50, 0.15);
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.2);
|
||||
}
|
||||
|
||||
.container .topbar-wrap .topbar-btn {
|
||||
@@ -113,9 +118,10 @@ ul {
|
||||
|
||||
.container .topbar-wrap .topbar-logos {
|
||||
float: left;
|
||||
width: 400px;
|
||||
width: 600px;
|
||||
min-width: 500px;
|
||||
line-height: 50px;
|
||||
font-size: 17px;
|
||||
font-size: 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@@ -150,6 +156,8 @@ ul {
|
||||
line-height: 70px !important;
|
||||
width: 140px;
|
||||
text-align: center;
|
||||
color: #2E7D32 !important;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.el-menu--horizontal>.el-submenu .el-submenu__title {
|
||||
@@ -160,12 +168,13 @@ ul {
|
||||
|
||||
|
||||
.el-checkbox__inner {
|
||||
border: 1px solid #9DBBE7 !important;
|
||||
border: 1px solid #81C784 !important;
|
||||
}
|
||||
|
||||
.el-checkbox__input.is-checked .el-checkbox__inner,
|
||||
.el-checkbox__input.is-indeterminate .el-checkbox__inner {
|
||||
background-color: #9DBBE7 !important;
|
||||
background-color: #4CAF50 !important;
|
||||
border-color: #4CAF50 !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
@@ -250,7 +259,7 @@ ul {
|
||||
}
|
||||
|
||||
.container .content-container {
|
||||
background: #fff;
|
||||
background: #F1F8F4;
|
||||
-ms-flex: 1;
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
@@ -259,13 +268,14 @@ ul {
|
||||
}
|
||||
|
||||
.container .content-container .content-wrapper {
|
||||
background-color: #fff;
|
||||
background-color: #F1F8F4;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.el-menu--horizontal>.el-menu-item.is-active {
|
||||
color: #fff !important;
|
||||
border-bottom: 4px solid #409EFF !important;
|
||||
color: #1B5E20 !important;
|
||||
border-bottom: 4px solid #4CAF50 !important;
|
||||
background: rgba(76, 175, 80, 0.1) !important;
|
||||
}
|
||||
|
||||
.myInfoWindow {
|
||||
@@ -322,7 +332,7 @@ input:-ms-input-placeholder {
|
||||
width: 250px !important;
|
||||
text-align: start;
|
||||
height: 100%;
|
||||
background-color: #fff;
|
||||
background-color: #F1F8F4;
|
||||
}
|
||||
|
||||
.el-aside.tac .el-submenu__title,
|
||||
@@ -330,29 +340,30 @@ el-aside.tac.el-menu-item,
|
||||
.el-aside.tac .el-submenu .el-menu-item {
|
||||
height: 40px !important;
|
||||
line-height: 40px !important;
|
||||
background-color: white;
|
||||
color: black;
|
||||
background-color: #F1F8F4;
|
||||
color: #2E7D32;
|
||||
}
|
||||
|
||||
.el-aside.tac .el-menu-item-group__title {
|
||||
color: black;
|
||||
background-color: white;
|
||||
color: #2E7D32;
|
||||
background-color: #F1F8F4;
|
||||
padding: 0px !important;
|
||||
}
|
||||
|
||||
.el-aside.tac .el-submenu .el-menu-item:hover {
|
||||
background-color: #E8E8E8;
|
||||
color: black;
|
||||
|
||||
background-color: #C8E6C9;
|
||||
color: #2E7D32;
|
||||
}
|
||||
|
||||
.el-menu--horizontal>.el-menu-item:hover {
|
||||
border-bottom: 4px solid #409EFF;
|
||||
border-bottom-color: #409EFF !important;
|
||||
border-bottom: 4px solid #66BB6A;
|
||||
border-bottom-color: #66BB6A !important;
|
||||
background: rgba(76, 175, 80, 0.15) !important;
|
||||
color: #1B5E20 !important;
|
||||
}
|
||||
|
||||
.el-aside.tac .el-menu-item.is-active {
|
||||
background-color: #304156;
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
}
|
||||
|
||||
@@ -362,18 +373,18 @@ el-aside.tac.el-menu-item,
|
||||
}
|
||||
|
||||
#bread_container {
|
||||
background-color: white !important;
|
||||
color: black;
|
||||
background-color: #F1F8F4 !important;
|
||||
color: #2E7D32;
|
||||
width: 100%;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-align: center;
|
||||
border-bottom: 1px solid #D3D3D3;
|
||||
border-bottom: 1px solid #C8E6C9;
|
||||
}
|
||||
|
||||
.el-breadcrumb {
|
||||
font-size: 14px;
|
||||
color: black;
|
||||
color: #2E7D32;
|
||||
line-height: 30px !important;
|
||||
padding-left: 10px;
|
||||
}
|
||||
@@ -394,7 +405,7 @@ el-aside.tac.el-menu-item,
|
||||
|
||||
|
||||
.dragdiv-header {
|
||||
color: black;
|
||||
color: #2E7D32;
|
||||
font-size: 16px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
@@ -406,7 +417,7 @@ el-aside.tac.el-menu-item,
|
||||
}
|
||||
|
||||
.esriPopup .titlePane {
|
||||
background-color: #304156 !important;
|
||||
background-color: #4CAF50 !important;
|
||||
}
|
||||
|
||||
.esriPopup .contentPane {
|
||||
@@ -421,10 +432,19 @@ el-aside.tac.el-menu-item,
|
||||
|
||||
.el-collapse-item__header {
|
||||
font-size: 15px !important;
|
||||
color: #1B5E20 !important;
|
||||
background: linear-gradient(90deg, rgba(232, 245, 233, 0.95), rgba(248, 253, 249, 0.95)) !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
border-radius: 14px 14px 0 0 !important;
|
||||
padding: 12px 18px !important;
|
||||
}
|
||||
|
||||
.el-collapse-item__content {
|
||||
padding-bottom: 10px !important;
|
||||
padding: 12px 18px 16px 18px !important;
|
||||
background: rgba(241, 248, 244, 0.9) !important;
|
||||
border: 1px solid rgba(129, 199, 132, 0.2) !important;
|
||||
border-top: none !important;
|
||||
border-radius: 0 0 14px 14px !important;
|
||||
}
|
||||
|
||||
.el-input__inner {
|
||||
@@ -444,8 +464,8 @@ el-aside.tac.el-menu-item,
|
||||
.el-button--primary:focus,
|
||||
.el-button--primary:hover {
|
||||
color: #FFF !important;
|
||||
background-color: #304156 !important;
|
||||
border-color: #304156 !important;
|
||||
background-color: #66BB6A !important;
|
||||
border-color: #66BB6A !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -457,7 +477,7 @@ el-aside.tac.el-menu-item,
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
color: #000;
|
||||
color: #2E7D32;
|
||||
}
|
||||
|
||||
.v-table-body-cell {
|
||||
@@ -467,12 +487,12 @@ el-aside.tac.el-menu-item,
|
||||
}
|
||||
|
||||
.table-title {
|
||||
color: #000;
|
||||
color: #2E7D32;
|
||||
}
|
||||
|
||||
.el-dialog__header {
|
||||
padding: 8px !important;
|
||||
background-color: #9dbbe7;
|
||||
background-color: #4CAF50;
|
||||
color: #fff !important;
|
||||
border-radius: 5px 5px 0px 0px;
|
||||
}
|
||||
@@ -517,9 +537,10 @@ el-aside.tac.el-menu-item,
|
||||
@media screen and (max-width: 1500px) {
|
||||
.container .topbar-wrap .topbar-logos {
|
||||
float: left;
|
||||
width: 300px;
|
||||
width: 500px;
|
||||
min-width: 400px;
|
||||
line-height: 50px;
|
||||
font-size: 17px;
|
||||
font-size: 18px;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
@@ -538,44 +559,44 @@ el-aside.tac.el-menu-item,
|
||||
}
|
||||
|
||||
.el-menu--horizontal>.el-submenu.is-active .el-submenu__title {
|
||||
color: #fff !important;
|
||||
color: #1B5E20 !important;
|
||||
}
|
||||
|
||||
.el-menu--horizontal .el-menu .el-menu-item.is-active,
|
||||
.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title {
|
||||
color: #fff !important;
|
||||
color: #1B5E20 !important;
|
||||
}
|
||||
|
||||
.el-step__head.is-process,
|
||||
.el-step__title.is-process {
|
||||
color: #1296db !important;
|
||||
color: #4CAF50 !important;
|
||||
}
|
||||
|
||||
.el-step__head.is-wait {
|
||||
color: #304156 !important;
|
||||
color: #81C784 !important;
|
||||
|
||||
}
|
||||
|
||||
.el-step__title.is-success {
|
||||
color: #304156 !important;
|
||||
color: #2E7D32 !important;
|
||||
}
|
||||
|
||||
.el-step__head.is-success {
|
||||
color: #304156 !important;
|
||||
color: #4CAF50 !important;
|
||||
}
|
||||
|
||||
.el-step__line {
|
||||
background-color: #304156 !important;
|
||||
background-color: #81C784 !important;
|
||||
}
|
||||
|
||||
.el-step__line-inner {
|
||||
border-color: #304156 !important;
|
||||
border-color: #81C784 !important;
|
||||
}
|
||||
|
||||
|
||||
.el-step__title.is-wait {
|
||||
color: #304156 !important;
|
||||
border-color: #304156 !important;
|
||||
color: #81C784 !important;
|
||||
border-color: #81C784 !important;
|
||||
}
|
||||
|
||||
.el-icon-check:before {
|
||||
|
||||
@@ -36,8 +36,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftPanelScroll">
|
||||
<div class="left-content">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="任务进度" name="first">
|
||||
<el-select
|
||||
v-model="task"
|
||||
@@ -300,7 +299,6 @@
|
||||
>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
@@ -26,12 +26,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftPanelScroll">
|
||||
<div class="left-content">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="数据查看" name="second">
|
||||
<div>
|
||||
<p id="mylabel">
|
||||
任务:
|
||||
<p class="mylabel">
|
||||
<span class="label-text">任务:</span>
|
||||
<el-select
|
||||
v-model="task"
|
||||
size="small"
|
||||
@@ -50,8 +49,8 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</p>
|
||||
<p id="mylabel">
|
||||
表:
|
||||
<p class="mylabel">
|
||||
<span class="label-text">表:</span>
|
||||
<el-select
|
||||
id="sTable"
|
||||
v-model="table"
|
||||
@@ -70,8 +69,8 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</p>
|
||||
<p id="mylabel">
|
||||
人员:
|
||||
<p class="mylabel">
|
||||
<span class="label-text">人员:</span>
|
||||
<el-select
|
||||
id="sUser"
|
||||
v-model="userId"
|
||||
@@ -100,10 +99,13 @@
|
||||
>确定
|
||||
</el-button
|
||||
>
|
||||
<!-- 显示要素信息:属性、照片和视频
|
||||
<div v-if="Info && Object.keys(Info).length > 0" style="margin-top: 20px">
|
||||
<featureInfo :data="Info" style="margin: 0 auto"/>
|
||||
</div>-->
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<el-divider></el-divider>
|
||||
<div id="editionContainer">
|
||||
<el-tabs v-model="activeName1">
|
||||
<el-tab-pane label="版本回退" name="first1">
|
||||
@@ -235,7 +237,6 @@
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
@@ -870,10 +871,8 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
// 确保在子表模式下也获取并显示要素属性
|
||||
if (that.ifsub && that.activeName1 === 'first1') {
|
||||
that.getFeatureData()
|
||||
}
|
||||
// 获取并显示要素属性(无论哪个标签页都获取)
|
||||
that.getFeatureData()
|
||||
}
|
||||
})
|
||||
this.map.addInteraction(this.selectclick)
|
||||
@@ -1160,19 +1159,28 @@ export default {
|
||||
var jsondata = response.data.data
|
||||
var imagedata = []
|
||||
var videodata = []
|
||||
for (var i = 0; i < jsondata.mediaFileURLs.length; i++) {
|
||||
if (
|
||||
jsondata.mediaFileURLs[i].substring(
|
||||
jsondata.mediaFileURLs[i].length - 3
|
||||
) === 'jpg'
|
||||
) {
|
||||
imagedata.push(jsondata.mediaFileURLs[i])
|
||||
} else if (
|
||||
jsondata.mediaFileURLs[i].substring(
|
||||
jsondata.mediaFileURLs[i].length - 3
|
||||
) === 'avi'
|
||||
) {
|
||||
videodata.push(jsondata.mediaFileURLs[i])
|
||||
// 处理媒体文件URL
|
||||
if (jsondata.mediaFileURLs && Array.isArray(jsondata.mediaFileURLs)) {
|
||||
for (var i = 0; i < jsondata.mediaFileURLs.length; i++) {
|
||||
var url = jsondata.mediaFileURLs[i]
|
||||
if (!url) continue
|
||||
|
||||
// 获取文件扩展名(支持多种格式)
|
||||
var urlLower = url.toLowerCase()
|
||||
var ext = ''
|
||||
var lastDot = urlLower.lastIndexOf('.')
|
||||
if (lastDot > 0) {
|
||||
ext = urlLower.substring(lastDot + 1)
|
||||
}
|
||||
|
||||
// 图片格式:jpg, jpeg, png, gif, bmp, webp
|
||||
if (['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp'].includes(ext)) {
|
||||
imagedata.push(url)
|
||||
}
|
||||
// 视频格式:avi, mp4, mov, wmv, flv, mkv, webm
|
||||
else if (['avi', 'mp4', 'mov', 'wmv', 'flv', 'mkv', 'webm'].includes(ext)) {
|
||||
videodata.push(url)
|
||||
}
|
||||
}
|
||||
}
|
||||
jsondata.imagedata = imagedata
|
||||
@@ -1740,6 +1748,10 @@ export default {
|
||||
if (this.pageLayer && this.activeName1 === 'second1') {
|
||||
this.setCurrentStyle1(1)
|
||||
}
|
||||
// 在"数据查看"标签页中,当选择要素时获取要素数据
|
||||
if (this.activeName === 'second' && this.currentFeatureId && this.task && this.table) {
|
||||
this.getFeatureData()
|
||||
}
|
||||
}
|
||||
},
|
||||
vectorSource: {
|
||||
@@ -1890,9 +1902,33 @@ export default {
|
||||
}
|
||||
|
||||
.mylabel {
|
||||
font-family: PingFangSC-Medium;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 0 8px 0;
|
||||
padding: 4px 14px;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #264672;
|
||||
font-weight: 600;
|
||||
color: #1B5E20;
|
||||
background: rgba(232, 245, 233, 0.85);
|
||||
border: 1px solid rgba(129, 199, 132, 0.4);
|
||||
border-radius: 12px;
|
||||
letter-spacing: 0.5px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.mylabel .label-text {
|
||||
display: inline-block;
|
||||
min-width: 60px;
|
||||
flex-shrink: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.mylabel ::v-deep .el-select,
|
||||
.mylabel ::v-deep .el-input {
|
||||
flex: 1;
|
||||
min-width: 220px;
|
||||
}
|
||||
|
||||
.el-icon-circle-close {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -15,11 +15,13 @@
|
||||
<a
|
||||
href
|
||||
style="
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 18px;
|
||||
font-family: 'Microsoft YaHei', 'SimHei', 'STHeiti', 'PingFang SC', 'Helvetica Neue', Arial, sans-serif;
|
||||
font-size: 20px;
|
||||
line-height: 70px;
|
||||
color: #264672;
|
||||
color: #2E7D32;
|
||||
margin-left: 10px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 1px;
|
||||
"
|
||||
>{{ myname }}</a
|
||||
>
|
||||
@@ -29,7 +31,9 @@
|
||||
:default-active="$route.path"
|
||||
class="el-menu"
|
||||
mode="horizontal"
|
||||
background-color="#F7F8F1"
|
||||
background-color="#E8F5E9"
|
||||
text-color="#2E7D32"
|
||||
active-text-color="#1B5E20"
|
||||
router
|
||||
>
|
||||
<template v-for="item in menu">
|
||||
@@ -131,28 +135,34 @@ export default {
|
||||
text-align: center;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 16px;
|
||||
color: #264672;
|
||||
color: #2E7D32;
|
||||
letter-spacing: 0;
|
||||
transition: all 0.3s ease;
|
||||
border-bottom: 3px solid transparent;
|
||||
}
|
||||
.el-menu--horizontal > .el-menu-item.is-active {
|
||||
color: #3a87f9 !important;
|
||||
color: #1B5E20 !important;
|
||||
font-family: PingFangSC-Semibold;
|
||||
font-size: 16px;
|
||||
letter-spacing: 0;
|
||||
border-bottom: 3px solid #409eff !important;
|
||||
border-bottom: 3px solid #4CAF50 !important;
|
||||
background: rgba(76, 175, 80, 0.1) !important;
|
||||
}
|
||||
.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,
|
||||
.el-menu--horizontal .el-menu-item:not(.is-disabled):hover {
|
||||
outline: 0;
|
||||
background: #f7f8f1 !important;
|
||||
background: rgba(76, 175, 80, 0.15) !important;
|
||||
color: #1B5E20 !important;
|
||||
}
|
||||
|
||||
.el-main {
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
background: #F1F8F4;
|
||||
}
|
||||
|
||||
.content {
|
||||
height: 100%;
|
||||
background: #F1F8F4;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -24,8 +24,7 @@
|
||||
></i>
|
||||
</div>
|
||||
<div id="leftPanelScroll">
|
||||
<div class="left-content">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tabs v-model="activeName">
|
||||
<el-tab-pane label="统计分析" name="second">
|
||||
<div>
|
||||
<el-select
|
||||
@@ -104,7 +103,6 @@
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
@@ -39,8 +39,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id="leftPanelScroll">
|
||||
<div class="left-content">
|
||||
<el-collapse v-model="activeItem" accordion>
|
||||
<el-collapse v-model="activeItem" accordion>
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<img
|
||||
@@ -61,10 +60,10 @@
|
||||
>
|
||||
</el-breadcrumb>
|
||||
</template>
|
||||
<div style="margin: 15px 0px 15px 0px">
|
||||
<div style="margin: 4px 0px 4px 0px">
|
||||
<div class="taskChoser">
|
||||
<span id="mylabel">
|
||||
任务:
|
||||
<span class="mylabel">
|
||||
<span class="label-text">任务:</span>
|
||||
<el-select
|
||||
v-model="taskValue"
|
||||
style="width: 80%; margin-bottom: 10px"
|
||||
@@ -83,15 +82,11 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="taskChoser">
|
||||
<span id="mylabel">
|
||||
表:
|
||||
<span class="mylabel">
|
||||
<span class="label-text">表:</span>
|
||||
<el-select
|
||||
v-model="ctaskValue"
|
||||
style="
|
||||
width: 80%;
|
||||
margin-bottom: 10px;
|
||||
margin-left: 14px;
|
||||
"
|
||||
style="width: 80%; margin-bottom: 10px"
|
||||
placeholder="请选择表"
|
||||
clearable
|
||||
@change="ctaskChange"
|
||||
@@ -120,8 +115,8 @@
|
||||
</p>
|
||||
</div>
|
||||
<div class="taskChoser">
|
||||
<span id="mylabel">
|
||||
字段:
|
||||
<span class="mylabel">
|
||||
<span class="label-text">字段:</span>
|
||||
<el-select
|
||||
v-model="FieldValue"
|
||||
placeholder="请选择字段"
|
||||
@@ -140,8 +135,8 @@
|
||||
</span>
|
||||
</div>
|
||||
<div class="taskChoser">
|
||||
<span id="mylabel">
|
||||
内容:
|
||||
<span class="mylabel">
|
||||
<span class="label-text">内容:</span>
|
||||
<el-input
|
||||
:disabled="taskInput"
|
||||
style="width: 80%; margin-bottom: 10px"
|
||||
@@ -474,7 +469,7 @@
|
||||
<el-breadcrumb-item>路线优化</el-breadcrumb-item>
|
||||
</el-breadcrumb>
|
||||
</template>
|
||||
<div style="margin: 15px 0px 15px 0px; height: 100%">
|
||||
<div style="margin: 4px 0px 4px 0px; height: 100%">
|
||||
<div class="taskChoser">
|
||||
<label>起点:</label>
|
||||
<el-select
|
||||
@@ -968,7 +963,6 @@
|
||||
</el-tabs>
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
@@ -4989,7 +4983,7 @@ export default {
|
||||
// }
|
||||
|
||||
.taskChoser {
|
||||
margin: 15px 0px 5px 0px;
|
||||
margin: 2px 0px 2px 0px;
|
||||
}
|
||||
.searchInput {
|
||||
width: 220px !important;
|
||||
@@ -5093,8 +5087,57 @@ export default {
|
||||
line-height: 13px;
|
||||
}
|
||||
.mylabel {
|
||||
font-family: PingFangSC-Medium;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
margin: 0 0 8px 0;
|
||||
padding: 4px 14px;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #264672;
|
||||
font-weight: 600;
|
||||
color: #1B5E20;
|
||||
border-radius: 12px;
|
||||
letter-spacing: 0.5px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.mylabel .label-text {
|
||||
display: inline-block;
|
||||
min-width: 60px;
|
||||
flex-shrink: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.mylabel ::v-deep .el-select,
|
||||
.mylabel ::v-deep .el-input {
|
||||
flex: 1;
|
||||
min-width: 220px;
|
||||
}
|
||||
|
||||
#leftPanelScroll :deep(.el-collapse-item__content) {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
#leftPanelScroll :deep(.el-collapse .el-collapse-item__content) {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
#leftPanelScroll :deep(.el-collapse-item__wrap .el-collapse-item__content) {
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="scss">
|
||||
/* 全局样式:覆盖 ViewTask 页面中的 collapse content padding */
|
||||
#leftPanelScroll .el-collapse-item__content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
#leftPanelScroll .el-collapse .el-collapse-item__wrap .el-collapse-item__content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
#leftPanelScroll .el-collapse-item__wrap .el-collapse-item__content {
|
||||
padding: 0 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,24 +1,23 @@
|
||||
<template>
|
||||
<div>
|
||||
<div id="buttomContain">
|
||||
<div class="search-container">
|
||||
<div class="task-manage-page">
|
||||
<div class="toolbar-container">
|
||||
<div class="search-box">
|
||||
<el-input
|
||||
v-model="searchKeyword"
|
||||
placeholder="请输入关键词进行搜索"
|
||||
prefix-icon="el-icon-search"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 450px; margin-right: 15px;"
|
||||
@input="handleSearch"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="button-container">
|
||||
<el-button id="buttonStyle" size="small" @click="openBatchDownloadDialog">
|
||||
批量数据下载
|
||||
<div class="toolbar-actions">
|
||||
<el-button class="forest-btn" size="medium" icon="el-icon-download" @click="openBatchDownloadDialog">
|
||||
批量数据下载
|
||||
</el-button>
|
||||
<el-button class="forest-btn ghost" size="medium" icon="el-icon-copy-document" @click="ExchangeData()">
|
||||
任务数据复制
|
||||
</el-button>
|
||||
<el-button id="buttonStyle" size="small" @click="ExchangeData()"
|
||||
>任务数据复制</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
@@ -1558,36 +1557,136 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
>>> .el-pagination button {
|
||||
background-color: #fff !important;
|
||||
.task-manage-page {
|
||||
padding: 24px 28px 40px;
|
||||
background: linear-gradient(135deg, #edf7ef 0%, #fdfefe 100%);
|
||||
min-height: calc(100vh - 120px);
|
||||
box-sizing: border-box;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 14px 32px rgba(76, 175, 80, 0.12);
|
||||
border: 1px solid rgba(129, 199, 132, 0.25);
|
||||
}
|
||||
>>> .el-pager li {
|
||||
background: #fff !important;
|
||||
}
|
||||
#buttomContain {
|
||||
right: 25px;
|
||||
position: absolute;
|
||||
|
||||
.toolbar-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: calc(100% - 50px);
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.search-container {
|
||||
/* 搜索容器靠左 */
|
||||
.search-box {
|
||||
flex: 0 0 auto;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
/* 按钮容器靠右 */
|
||||
:deep(.search-box .el-input) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toolbar-actions {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.forest-btn {
|
||||
background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);
|
||||
border: none;
|
||||
color: #fff;
|
||||
border-radius: 12px;
|
||||
padding: 0 26px;
|
||||
min-height: 38px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.5px;
|
||||
font-size: 15px;
|
||||
box-shadow: 0 8px 18px rgba(76, 175, 80, 0.35);
|
||||
}
|
||||
|
||||
.forest-btn.ghost {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
color: #2e7d32;
|
||||
border: 1px solid #66bb6a;
|
||||
box-shadow: 0 5px 14px rgba(76, 175, 80, 0.2);
|
||||
}
|
||||
|
||||
.forest-btn:hover {
|
||||
filter: brightness(1.05);
|
||||
}
|
||||
|
||||
#tableStyle {
|
||||
top: 40px;
|
||||
margin-bottom: 30px;
|
||||
background: rgba(255, 255, 255, 0.92);
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3);
|
||||
box-shadow: 0 14px 28px rgba(76, 175, 80, 0.12);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__header-wrapper th) {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body-wrapper td) {
|
||||
color: #2e4b31;
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.08);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr:hover > td) {
|
||||
background: rgba(129, 199, 132, 0.15) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__row--striped td) {
|
||||
background: rgba(233, 247, 235, 0.65);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__row.current-row > td) {
|
||||
background: rgba(76, 175, 80, 0.18) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr) {
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr:hover) {
|
||||
transform: translateY(-1px);
|
||||
box-shadow: inset 0 2px 0 rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text) {
|
||||
color: #2e7d32;
|
||||
font-weight: 500;
|
||||
padding: 6px 12px;
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text:hover) {
|
||||
color: #1b5e20;
|
||||
background: rgba(129, 199, 132, 0.2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
>>> .el-pagination button {
|
||||
background-color: #E8F5E9 !important;
|
||||
color: #2E7D32 !important;
|
||||
}
|
||||
|
||||
>>> .el-pager li {
|
||||
background: #E8F5E9 !important;
|
||||
color: #2E7D32 !important;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 17px;
|
||||
text-align: left;
|
||||
color: #2e7d32;
|
||||
}
|
||||
|
||||
.clearfix:before,
|
||||
@@ -1607,5 +1706,176 @@ export default {
|
||||
right: 0;
|
||||
left: 0;
|
||||
z-index: 999;
|
||||
border-radius: 16px;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3);
|
||||
box-shadow: 0 12px 28px rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
|
||||
:deep(.box-card .el-card__header) {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3);
|
||||
color: #1b5e20;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.25);
|
||||
border-radius: 16px 16px 0 0;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-dialog) {
|
||||
border-radius: 18px;
|
||||
border: 1px solid rgba(129, 199, 132, 0.35);
|
||||
box-shadow: 0 12px 30px rgba(76, 175, 80, 0.18);
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-dialog__header) {
|
||||
background: linear-gradient(135deg, #4caf50, #2e7d32);
|
||||
color: #fff;
|
||||
border-radius: 18px 18px 0 0;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-form-item__label) {
|
||||
color: #1b5e20;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-button--primary) {
|
||||
background-color: #4caf50 !important;
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-button--primary:hover) {
|
||||
background-color: #66bb6a !important;
|
||||
border-color: #66bb6a !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
/* 全局表格样式覆盖 - 确保主题样式生效 */
|
||||
#tableStyle.el-table {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border::after,
|
||||
#tableStyle.el-table.el-table--border::before {
|
||||
background-color: rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th {
|
||||
border-right: 1px solid rgba(129, 199, 132, 0.25) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td {
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.08) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped td {
|
||||
background: rgba(233, 247, 235, 0.65) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover td {
|
||||
background: rgba(200, 230, 201, 0.5) !important;
|
||||
}
|
||||
|
||||
/* 表头样式全局覆盖 */
|
||||
#tableStyle.el-table .el-table__header-wrapper th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
padding: 12px 0 !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header-wrapper thead th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
/* 覆盖自定义表头类名 sinCl */
|
||||
#tableStyle.el-table .el-table__header th.sinCl {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th.sinCl .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
/* 滚动条全局样式 */
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar {
|
||||
height: 8px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||
background: linear-gradient(90deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
|
||||
background: linear-gradient(90deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar {
|
||||
width: 8px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||
background: linear-gradient(180deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
|
||||
background: linear-gradient(180deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
<div id="TPcontainer">
|
||||
<el-container style="height: 100%">
|
||||
<el-aside class="MyAside">
|
||||
<div class="aside-header">
|
||||
<h2>任务中心</h2>
|
||||
<p>Task Management Console</p>
|
||||
</div>
|
||||
<el-menu
|
||||
background-color="#F7F8F1"
|
||||
text-color="rgb(38,70,114)"
|
||||
active-text-color="#3A87F9"
|
||||
background-color="#E8F5E9"
|
||||
text-color="#2E7D32"
|
||||
active-text-color="#1B5E20"
|
||||
:default-active="this.$route.path"
|
||||
router
|
||||
>
|
||||
@@ -29,7 +33,7 @@
|
||||
</el-aside>
|
||||
<el-container>
|
||||
<el-main class="tpcontent">
|
||||
<router-view class="view" style="padding: 20px"></router-view>
|
||||
<router-view class="view"></router-view>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</el-container>
|
||||
@@ -46,33 +50,117 @@ export default {
|
||||
<style scoped>
|
||||
.MyAside {
|
||||
width: 255px !important;
|
||||
opacity: 0.9;
|
||||
background-color: #f7f8f1;
|
||||
color: #333;
|
||||
opacity: 0.95;
|
||||
background: linear-gradient(180deg, #e8f5e9 0%, #d0ebd4 100%);
|
||||
color: #1b5e20;
|
||||
text-align: left;
|
||||
line-height: 200px;
|
||||
line-height: normal;
|
||||
z-index: 10;
|
||||
bottom: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.25);
|
||||
box-shadow: 4px 0 18px rgba(52, 133, 78, 0.14);
|
||||
padding: 24px 12px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.aside-header {
|
||||
text-align: left;
|
||||
padding: 0 12px 16px 12px;
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.2);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
:deep(.MyAside .el-menu) {
|
||||
background: transparent !important;
|
||||
border-right: none !important;
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
}
|
||||
:deep(.MyAside .el-menu::-webkit-scrollbar) {
|
||||
width: 6px;
|
||||
}
|
||||
:deep(.MyAside .el-menu::-webkit-scrollbar-thumb) {
|
||||
background: rgba(76, 175, 80, 0.3);
|
||||
border-radius: 3px;
|
||||
}
|
||||
:deep(.MyAside .el-menu::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.6);
|
||||
}
|
||||
.aside-header h2 {
|
||||
font-size: 20px;
|
||||
color: #1b5e20;
|
||||
margin: 0;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.aside-header p {
|
||||
margin: 6px 0 0 0;
|
||||
font-size: 12px;
|
||||
color: #4f7e50;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
.tpcontent {
|
||||
position: absolute;
|
||||
left: 255px;
|
||||
right: 0px;
|
||||
width: calc(100% - 255px);
|
||||
padding: 0px;
|
||||
background: #fff;
|
||||
padding: 8px;
|
||||
background: linear-gradient(135deg, #edf7ef 0%, #fdfefe 100%);
|
||||
}
|
||||
.tpcontent .view {
|
||||
background: rgba(255, 255, 255, 0.96);
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 12px 28px rgba(76, 175, 80, 0.12);
|
||||
border: 1px solid rgba(129, 199, 132, 0.25);
|
||||
min-height: calc(100vh - 120px);
|
||||
padding: 24px;
|
||||
box-sizing: border-box;
|
||||
display: block;
|
||||
}
|
||||
.MyAside .usermp {
|
||||
padding-left: 10px !important;
|
||||
}
|
||||
|
||||
:deep(.MyAside .el-menu) {
|
||||
background: transparent !important;
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
:deep(.MyAside .el-menu-item),
|
||||
:deep(.MyAside .el-submenu__title) {
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-weight: 600;
|
||||
color: #2e7d32 !important;
|
||||
letter-spacing: 0.5px;
|
||||
padding: 14px 20px !important;
|
||||
transition: background 0.3s ease, color 0.3s ease;
|
||||
}
|
||||
|
||||
:deep(.MyAside .el-menu-item:hover),
|
||||
:deep(.MyAside .el-submenu__title:hover) {
|
||||
background: rgba(129, 199, 132, 0.25) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
:deep(.MyAside .el-menu-item.is-active) {
|
||||
background: linear-gradient(90deg, rgba(76, 175, 80, 0.2), rgba(129, 199, 132, 0.3)) !important;
|
||||
color: #1b5e20 !important;
|
||||
border-radius: 12px;
|
||||
margin: 4px 12px;
|
||||
}
|
||||
|
||||
:deep(.MyAside .el-icon-folder-opened),
|
||||
:deep(.MyAside .el-icon-user-solid) {
|
||||
color: #43a047;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 840px) and (max-width: 1401px) {
|
||||
.tpcontent {
|
||||
position: absolute;
|
||||
left: 255px;
|
||||
width: calc(100% - 255px);
|
||||
padding: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -84,6 +172,7 @@ export default {
|
||||
position: absolute;
|
||||
left: 160px;
|
||||
width: calc(100% - 160px);
|
||||
padding: 20px;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 420px) {
|
||||
@@ -94,6 +183,7 @@ export default {
|
||||
position: absolute;
|
||||
left: 120px;
|
||||
width: calc(100% - 120px);
|
||||
padding: 16px 12px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="task-manage-page">
|
||||
<!-- 添加搜索区域 -->
|
||||
<div class="search-container">
|
||||
<div class="search-box">
|
||||
<el-input
|
||||
v-model="searchKeyword"
|
||||
placeholder="请输入关键词进行搜索"
|
||||
prefix-icon="el-icon-search"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 300px; margin-bottom: 20px;"
|
||||
@input="handleSearch"
|
||||
></el-input>
|
||||
</div>
|
||||
|
||||
<!-- <h2 style="text-align: left">任务</h2>
|
||||
<h5 style="text-align: left">管理任务人员</h5> -->
|
||||
<el-table
|
||||
id="tableStyle"
|
||||
:data="filteredData"
|
||||
max-height="720px"
|
||||
style="width: 100%;"
|
||||
max-height="720"
|
||||
stripe
|
||||
border
|
||||
highlight-current-row
|
||||
:header-cell-class-name="sinClo"
|
||||
>
|
||||
<el-table-column
|
||||
@@ -85,8 +85,7 @@
|
||||
>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
plain
|
||||
class="forest-btn-small"
|
||||
:disabled="!scope.row.isAllocationOptional"
|
||||
>上传shp数据</el-button
|
||||
>
|
||||
@@ -96,8 +95,7 @@
|
||||
<el-table-column min-width="120" filterable label="任务人员">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
class="forest-btn-small ghost"
|
||||
size="small"
|
||||
@click.native="selectWorkers(scope.row.id)"
|
||||
:disabled="!scope.row.isAllocationOptional"
|
||||
@@ -125,7 +123,7 @@
|
||||
<el-table-column min-width="100" label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
class="forest-btn-small"
|
||||
size="small"
|
||||
@click.native="submitUploadShp(scope.row.id)"
|
||||
:disabled="!scope.row.isAllocationOptional"
|
||||
@@ -137,8 +135,7 @@
|
||||
<el-table-column min-width="100" label="手动分配">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
style="margin-left: 10px !important"
|
||||
class="forest-btn-small ghost"
|
||||
size="small"
|
||||
@click.native="manualAllocate(scope.row.id, false)"
|
||||
:disabled="!scope.row.isAllocationOptional"
|
||||
@@ -197,7 +194,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" min-width="80">
|
||||
<template slot="header">
|
||||
<el-button @click="addWorker()" type="primary" class="allomapBtn"
|
||||
<el-button @click="addWorker()" class="forest-btn-small"
|
||||
>添加人员</el-button
|
||||
>
|
||||
</template>
|
||||
@@ -211,7 +208,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-button type="primary" @click="UploadWorkers()" class="allomapBtn"
|
||||
<el-button class="forest-btn-small" @click="UploadWorkers()"
|
||||
>确认</el-button
|
||||
>
|
||||
</el-dialog>
|
||||
@@ -612,21 +609,342 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
|
||||
background-color: rgb(89, 103, 120) !important;
|
||||
border-color: #304156 !important;
|
||||
.task-manage-page {
|
||||
padding: 24px 28px 40px;
|
||||
background: linear-gradient(135deg, #edf7ef 0%, #fdfefe 100%);
|
||||
min-height: calc(100vh - 120px);
|
||||
box-sizing: border-box;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 14px 32px rgba(76, 175, 80, 0.12);
|
||||
border: 1px solid rgba(129, 199, 132, 0.25);
|
||||
}
|
||||
|
||||
.search-box {
|
||||
flex: 0 0 auto;
|
||||
width: 450px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
:deep(.search-box .el-input) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.forest-btn-small {
|
||||
background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);
|
||||
border: none;
|
||||
color: #fff;
|
||||
border-radius: 10px;
|
||||
padding: 8px 20px;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.forest-btn-small.ghost {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
color: #2e7d32;
|
||||
border: 1px solid #66bb6a;
|
||||
box-shadow: 0 3px 10px rgba(76, 175, 80, 0.2);
|
||||
}
|
||||
|
||||
.forest-btn-small:hover:not(:disabled) {
|
||||
filter: brightness(1.05);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.forest-btn-small:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
#tableStyle {
|
||||
margin-bottom: 30px;
|
||||
background: rgba(255, 255, 255, 0.92);
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3);
|
||||
box-shadow: 0 14px 28px rgba(76, 175, 80, 0.12);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__header-wrapper th) {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body-wrapper td) {
|
||||
color: #2e4b31;
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.08);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr:hover > td) {
|
||||
background: rgba(129, 199, 132, 0.15) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__row--striped td) {
|
||||
background: rgba(233, 247, 235, 0.65);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__row.current-row > td) {
|
||||
background: rgba(76, 175, 80, 0.18) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr) {
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr:hover) {
|
||||
transform: translateY(-1px);
|
||||
box-shadow: inset 0 2px 0 rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text) {
|
||||
color: #2e7d32;
|
||||
font-weight: 500;
|
||||
padding: 6px 12px;
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text:hover) {
|
||||
color: #1b5e20;
|
||||
background: rgba(129, 199, 132, 0.2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-checkbox__input.is-checked .el-checkbox__inner) {
|
||||
background-color: #4caf50 !important;
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-checkbox__inner) {
|
||||
border-color: rgba(129, 199, 132, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner) {
|
||||
background-color: rgba(76, 175, 80, 0.5) !important;
|
||||
border-color: rgba(76, 175, 80, 0.5) !important;
|
||||
}
|
||||
|
||||
.el-dropdown-link {
|
||||
cursor: pointer;
|
||||
color: #409EFF;
|
||||
color: #4caf50;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.el-dropdown-link:hover {
|
||||
color: #66b1ff;
|
||||
color: #2e7d32;
|
||||
}
|
||||
|
||||
.search-container {
|
||||
text-align: left;
|
||||
.taskDialog :deep(.el-dialog) {
|
||||
border-radius: 18px;
|
||||
border: 1px solid rgba(129, 199, 132, 0.35);
|
||||
box-shadow: 0 12px 30px rgba(76, 175, 80, 0.18);
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-dialog__header) {
|
||||
background: linear-gradient(135deg, #4caf50, #2e7d32);
|
||||
color: #fff;
|
||||
border-radius: 18px 18px 0 0;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-form-item__label) {
|
||||
color: #1b5e20;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-button--primary) {
|
||||
background-color: #4caf50 !important;
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-button--primary:hover) {
|
||||
background-color: #66bb6a !important;
|
||||
border-color: #66bb6a !important;
|
||||
}
|
||||
|
||||
:deep(.tb-edit .el-table__header-wrapper th) {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
:deep(.tb-edit .el-table__body-wrapper td) {
|
||||
color: #2e4b31;
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.08);
|
||||
}
|
||||
|
||||
:deep(.tb-edit .el-table__body tr:hover > td) {
|
||||
background: rgba(129, 199, 132, 0.15) !important;
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper) {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar) {
|
||||
height: 8px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb) {
|
||||
background: linear-gradient(90deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover) {
|
||||
background: linear-gradient(90deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper) {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar) {
|
||||
width: 8px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb) {
|
||||
background: linear-gradient(180deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb:hover) {
|
||||
background: linear-gradient(180deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
/* 下拉选择框样式 */
|
||||
:deep(#tableStyle .el-select .el-input__inner) {
|
||||
border-color: rgba(129, 199, 132, 0.4) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-select .el-input__inner:focus) {
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-select .el-input__suffix .el-input__suffix-inner .el-select__caret) {
|
||||
color: #4caf50 !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown) {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 10px !important;
|
||||
box-shadow: 0 8px 20px rgba(76, 175, 80, 0.15) !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown .el-select-dropdown__item) {
|
||||
color: #2e4b31 !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown .el-select-dropdown__item:hover) {
|
||||
background: rgba(129, 199, 132, 0.2) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown .el-select-dropdown__item.selected) {
|
||||
background: rgba(76, 175, 80, 0.25) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
/* 全局表格样式覆盖 */
|
||||
#tableStyle.el-table {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border::after,
|
||||
#tableStyle.el-table.el-table--border::before {
|
||||
background-color: rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th {
|
||||
border-right: 1px solid rgba(129, 199, 132, 0.25) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td {
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.08) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped td {
|
||||
background: rgba(233, 247, 235, 0.65) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover td {
|
||||
background: rgba(200, 230, 201, 0.5) !important;
|
||||
}
|
||||
|
||||
/* 表头样式全局覆盖 */
|
||||
#tableStyle.el-table .el-table__header-wrapper th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header-wrapper thead th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th.sinCl {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th.sinCl .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
<template>
|
||||
<div style="height: (screenHeight-300)+'px'">
|
||||
<div id="buttomContain">
|
||||
<div class="search-container">
|
||||
<div class="task-manage-page">
|
||||
<div class="toolbar-container">
|
||||
<div class="search-box">
|
||||
<el-input
|
||||
style="width: 300px; margin-right: 15px;"
|
||||
placeholder="请输入用户名搜索"
|
||||
v-model="inputUsername"
|
||||
prefix-icon="el-icon-search"
|
||||
clearable
|
||||
size="small"
|
||||
@clear="cancelSearch()"
|
||||
@keyup.enter.native="searchUser()"
|
||||
>
|
||||
<i
|
||||
slot="suffix"
|
||||
class="el-input__icon el-icon-search"
|
||||
@click="searchUser()"
|
||||
></i>
|
||||
<i
|
||||
slot="suffix"
|
||||
class="el-input__icon el-icon-circle-close"
|
||||
@click="cancelSearch()"
|
||||
style="cursor: pointer;"
|
||||
></i>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="button-container">
|
||||
<div class="toolbar-actions">
|
||||
<el-button
|
||||
id="buttonStyle"
|
||||
size="small"
|
||||
style="margin-top: 20px"
|
||||
class="forest-btn-small"
|
||||
size="medium"
|
||||
icon="el-icon-plus"
|
||||
@click="adduser1()"
|
||||
>添加用户</el-button
|
||||
>
|
||||
@@ -33,7 +33,10 @@
|
||||
<el-table
|
||||
id="tableStyle"
|
||||
:data="usersData"
|
||||
style="width: 100%"
|
||||
:max-height="600"
|
||||
stripe
|
||||
border
|
||||
highlight-current-row
|
||||
header-cell-class-name="sinCl"
|
||||
>
|
||||
<el-table-column
|
||||
@@ -65,25 +68,28 @@
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
class="action-btn"
|
||||
@click.native="EditField(scope.$index)"
|
||||
>确认</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
class="action-btn"
|
||||
@click.native="deleteField(scope.$index)"
|
||||
>删除</el-button
|
||||
>
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
class="action-btn"
|
||||
@click.native="resetPassword(scope.$index)"
|
||||
>重置密码</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div style="margin-top: 50px">
|
||||
<div class="pagination-container">
|
||||
<el-pagination
|
||||
layout="prev, pager, next"
|
||||
:page-count="dataPageNum"
|
||||
@@ -163,9 +169,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-button id="buttonStyle" size="small" @click="addUser()"
|
||||
<div class="dialog-footer">
|
||||
<el-button class="forest-btn-small" @click="addUser()"
|
||||
>确认</el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -506,42 +514,385 @@ export default {
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.el-input__inner {
|
||||
>>> &::placeholder {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 14px;
|
||||
color: #c0c4cc;
|
||||
}
|
||||
.task-manage-page {
|
||||
padding: 24px 28px 40px;
|
||||
background: linear-gradient(135deg, #edf7ef 0%, #fdfefe 100%);
|
||||
min-height: calc(100vh - 120px);
|
||||
box-sizing: border-box;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 14px 32px rgba(76, 175, 80, 0.12);
|
||||
border: 1px solid rgba(129, 199, 132, 0.25);
|
||||
}
|
||||
|
||||
#buttomContain {
|
||||
top: 5px;
|
||||
right: 25px;
|
||||
position: absolute;
|
||||
.toolbar-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: calc(100% - 50px);
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.search-container {
|
||||
/* 搜索容器靠左 */
|
||||
.search-box {
|
||||
flex: 0 0 auto;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
.button-container {
|
||||
/* 按钮容器靠右 */
|
||||
:deep(.search-box .el-input) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toolbar-actions {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.forest-btn-small {
|
||||
background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);
|
||||
border: none;
|
||||
color: #fff;
|
||||
border-radius: 10px;
|
||||
padding: 8px 20px;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.forest-btn-small:hover:not(:disabled) {
|
||||
filter: brightness(1.05);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.forest-btn-small:disabled {
|
||||
opacity: 0.5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
#tableStyle {
|
||||
top: 50px;
|
||||
margin-bottom: 30px;
|
||||
height: 600px;
|
||||
}
|
||||
>>> .el-pager li {
|
||||
background: #fff !important;
|
||||
background: rgba(255, 255, 255, 0.92);
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3);
|
||||
box-shadow: 0 14px 28px rgba(76, 175, 80, 0.12);
|
||||
}
|
||||
|
||||
>>> .el-pagination button {
|
||||
background: #fff !important;
|
||||
:deep(#tableStyle .el-table__header-wrapper th) {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body-wrapper td) {
|
||||
color: #2e4b31;
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.08);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr:hover > td) {
|
||||
background: rgba(129, 199, 132, 0.15) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__row--striped td) {
|
||||
background: rgba(233, 247, 235, 0.65);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__row.current-row > td) {
|
||||
background: rgba(76, 175, 80, 0.18) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr) {
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table__body tr:hover) {
|
||||
transform: translateY(-1px);
|
||||
box-shadow: inset 0 2px 0 rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text) {
|
||||
color: #2e7d32;
|
||||
font-weight: 500;
|
||||
padding: 6px 12px;
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text:hover) {
|
||||
color: #1b5e20;
|
||||
background: rgba(129, 199, 132, 0.2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.action-btn {
|
||||
color: #2e7d32 !important;
|
||||
font-weight: 500 !important;
|
||||
padding: 6px 12px !important;
|
||||
border-radius: 8px !important;
|
||||
transition: all 0.3s ease !important;
|
||||
}
|
||||
|
||||
.action-btn:hover {
|
||||
color: #1b5e20 !important;
|
||||
background: rgba(129, 199, 132, 0.2) !important;
|
||||
transform: translateY(-1px) !important;
|
||||
}
|
||||
|
||||
/* 下拉选择框样式 */
|
||||
:deep(#tableStyle .el-select .el-input__inner) {
|
||||
border-color: rgba(129, 199, 132, 0.4) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-select .el-input__inner:focus) {
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-select .el-input__suffix .el-input__suffix-inner .el-select__caret) {
|
||||
color: #4caf50 !important;
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper) {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar) {
|
||||
height: 8px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb) {
|
||||
background: linear-gradient(90deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover) {
|
||||
background: linear-gradient(90deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper) {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar) {
|
||||
width: 8px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb) {
|
||||
background: linear-gradient(180deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb:hover) {
|
||||
background: linear-gradient(180deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
.pagination-container {
|
||||
margin-top: 30px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
:deep(.pagination-container .el-pagination) {
|
||||
.el-pager li {
|
||||
background: rgba(255, 255, 255, 0.9) !important;
|
||||
color: #2e7d32 !important;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 6px !important;
|
||||
margin: 0 4px !important;
|
||||
transition: all 0.3s ease !important;
|
||||
}
|
||||
|
||||
.el-pager li:hover {
|
||||
background: rgba(129, 199, 132, 0.2) !important;
|
||||
color: #1b5e20 !important;
|
||||
transform: translateY(-2px) !important;
|
||||
}
|
||||
|
||||
.el-pager li.active {
|
||||
background: linear-gradient(135deg, #4caf50, #2e7d32) !important;
|
||||
color: #fff !important;
|
||||
border-color: #4caf50 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
.btn-prev,
|
||||
.btn-next {
|
||||
background: rgba(255, 255, 255, 0.9) !important;
|
||||
color: #2e7d32 !important;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 6px !important;
|
||||
transition: all 0.3s ease !important;
|
||||
}
|
||||
|
||||
.btn-prev:hover,
|
||||
.btn-next:hover {
|
||||
background: rgba(129, 199, 132, 0.2) !important;
|
||||
color: #1b5e20 !important;
|
||||
transform: translateY(-2px) !important;
|
||||
}
|
||||
|
||||
.btn-prev:disabled,
|
||||
.btn-next:disabled {
|
||||
opacity: 0.5 !important;
|
||||
cursor: not-allowed !important;
|
||||
}
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-dialog) {
|
||||
border-radius: 18px;
|
||||
border: 1px solid rgba(129, 199, 132, 0.35);
|
||||
box-shadow: 0 12px 30px rgba(76, 175, 80, 0.18);
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-dialog__header) {
|
||||
background: linear-gradient(135deg, #4caf50, #2e7d32);
|
||||
color: #fff;
|
||||
border-radius: 18px 18px 0 0;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-form-item__label) {
|
||||
color: #1b5e20;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-input__inner) {
|
||||
border-color: rgba(129, 199, 132, 0.4) !important;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-input__inner:focus) {
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-select .el-input__inner) {
|
||||
border-color: rgba(129, 199, 132, 0.4) !important;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-select .el-input__inner:focus) {
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
.dialog-footer {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown) {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 10px !important;
|
||||
box-shadow: 0 8px 20px rgba(76, 175, 80, 0.15) !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown .el-select-dropdown__item) {
|
||||
color: #2e4b31 !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown .el-select-dropdown__item:hover) {
|
||||
background: rgba(129, 199, 132, 0.2) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
:deep(.el-select-dropdown .el-select-dropdown__item.selected) {
|
||||
background: rgba(76, 175, 80, 0.25) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
/* 全局表格样式覆盖 */
|
||||
#tableStyle.el-table {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border::after,
|
||||
#tableStyle.el-table.el-table--border::before {
|
||||
background-color: rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th {
|
||||
border-right: 1px solid rgba(129, 199, 132, 0.25) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td {
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.08) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped td {
|
||||
background: rgba(233, 247, 235, 0.65) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover td {
|
||||
background: rgba(200, 230, 201, 0.5) !important;
|
||||
}
|
||||
|
||||
/* 表头样式全局覆盖 */
|
||||
#tableStyle.el-table .el-table__header-wrapper th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header-wrapper thead th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th.sinCl {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th.sinCl .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
</style>
|
||||
@@ -1,24 +1,24 @@
|
||||
<template>
|
||||
<div>
|
||||
<div id="buttomContain">
|
||||
<div class="search-container">
|
||||
<div class="task-manage-page">
|
||||
<div class="toolbar-container">
|
||||
<div class="search-box">
|
||||
<el-input
|
||||
v-model="searchKeyword"
|
||||
placeholder="请输入关键词进行搜索"
|
||||
prefix-icon="el-icon-search"
|
||||
clearable
|
||||
size="small"
|
||||
style="width: 450px; margin-right: 15px;"
|
||||
@input="handleSearch"
|
||||
></el-input>
|
||||
</div>
|
||||
<div class="search-container">
|
||||
<el-button id="buttonStyle" size="small" @click="addRow()"
|
||||
>添加任务</el-button
|
||||
>
|
||||
<el-button id="buttonStyle" size="small" @click="addXml()"
|
||||
>导入xml文件</el-button
|
||||
></div>
|
||||
<div class="toolbar-actions">
|
||||
<el-button class="forest-btn" size="medium" icon="el-icon-plus" @click="addRow()"
|
||||
>添加任务</el-button
|
||||
>
|
||||
<el-button class="forest-btn ghost" size="medium" icon="el-icon-upload" @click="addXml()"
|
||||
>导入xml文件</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<el-table
|
||||
id="tableStyle"
|
||||
@@ -65,7 +65,8 @@
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.isReviewerRestricted"
|
||||
active-color="#9DBBE7"
|
||||
active-color="#4CAF50"
|
||||
inactive-color="#E0E0E0"
|
||||
@change="
|
||||
changeRestricted(scope.row.id, scope.row.isReviewerRestricted)
|
||||
"
|
||||
@@ -192,7 +193,9 @@
|
||||
<el-input v-model="form.introduction"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-button type="primary" size="small" @click="Upload()">确认</el-button>
|
||||
<div class="dialog-footer">
|
||||
<el-button class="forest-btn" size="medium" @click="Upload()">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
@@ -239,9 +242,11 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-button type="primary" size="small" @click="UploadXml()"
|
||||
>确认</el-button
|
||||
>
|
||||
<div class="dialog-footer">
|
||||
<el-button class="forest-btn" size="medium" @click="UploadXml()"
|
||||
>确认</el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@@ -707,21 +712,461 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
#buttomContain {
|
||||
right: 25px;
|
||||
position: absolute;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between; /* 让搜索容器和按钮分别靠左和靠右 */
|
||||
width: calc(100% - 50px); /* 设置容器宽度,减去左右边距 */
|
||||
.task-manage-page {
|
||||
padding: 24px 28px 40px;
|
||||
background: linear-gradient(135deg, #edf7ef 0%, #fdfefe 100%);
|
||||
min-height: calc(100vh - 120px);
|
||||
box-sizing: border-box;
|
||||
border-radius: 20px;
|
||||
box-shadow: 0 14px 32px rgba(76, 175, 80, 0.12);
|
||||
border: 1px solid rgba(129, 199, 132, 0.25);
|
||||
}
|
||||
|
||||
.search-container {
|
||||
/* 移除右边距,让搜索容器靠左 */
|
||||
.toolbar-container {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.search-box {
|
||||
flex: 0 0 auto;
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
:deep(.search-box .el-input) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.toolbar-actions {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.forest-btn {
|
||||
background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%);
|
||||
border: none;
|
||||
color: #fff;
|
||||
border-radius: 12px;
|
||||
padding: 0 26px;
|
||||
min-height: 38px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.5px;
|
||||
font-size: 15px;
|
||||
box-shadow: 0 8px 18px rgba(76, 175, 80, 0.35);
|
||||
}
|
||||
.forest-btn.ghost {
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
color: #2e7d32;
|
||||
border: 1px solid #66bb6a;
|
||||
box-shadow: 0 5px 14px rgba(76, 175, 80, 0.2);
|
||||
}
|
||||
.forest-btn:hover {
|
||||
filter: brightness(1.05);
|
||||
}
|
||||
|
||||
#tableStyle {
|
||||
top: 40px;
|
||||
margin-bottom: 30px;
|
||||
background: rgba(255, 255, 255, 0.92);
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(129, 199, 132, 0.3);
|
||||
box-shadow: 0 14px 28px rgba(76, 175, 80, 0.12);
|
||||
}
|
||||
:deep(#tableStyle .el-table__header-wrapper th) {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
:deep(#tableStyle .el-table__body-wrapper td) {
|
||||
color: #2e4b31;
|
||||
border-bottom: 1px solid rgba(76, 175, 80, 0.08);
|
||||
}
|
||||
:deep(#tableStyle .el-table__body tr:hover > td) {
|
||||
background: rgba(129, 199, 132, 0.15) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
:deep(#tableStyle .el-table__row--striped td) {
|
||||
background: rgba(233, 247, 235, 0.65);
|
||||
}
|
||||
:deep(#tableStyle .el-table__row.current-row > td) {
|
||||
background: rgba(76, 175, 80, 0.18) !important;
|
||||
color: #1b5e20;
|
||||
}
|
||||
:deep(#tableStyle .el-table__body tr) {
|
||||
transition: transform 0.15s ease, box-shadow 0.15s ease;
|
||||
}
|
||||
:deep(#tableStyle .el-table__body tr:hover) {
|
||||
transform: translateY(-1px);
|
||||
box-shadow: inset 0 2px 0 rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
|
||||
/* Element UI 表格默认类名主题化 */
|
||||
:deep(#tableStyle .el-table) {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--fit) {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border) {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border::after) {
|
||||
background-color: rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border::before) {
|
||||
background-color: rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border th) {
|
||||
border-right: 1px solid rgba(129, 199, 132, 0.25) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border th:last-child) {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border td) {
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.08) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--border td:last-child) {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--striped .el-table__body tr.el-table__row--striped) {
|
||||
background: rgba(233, 247, 235, 0.65) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover) {
|
||||
background: rgba(200, 230, 201, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--striped .el-table__body tr.el-table__row--striped td) {
|
||||
background: rgba(233, 247, 235, 0.65) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover td) {
|
||||
background: rgba(200, 230, 201, 0.5) !important;
|
||||
}
|
||||
|
||||
/* 滚动条样式 */
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper) {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar) {
|
||||
height: 8px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb) {
|
||||
background: linear-gradient(90deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover) {
|
||||
background: linear-gradient(90deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper) {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar) {
|
||||
width: 8px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-track) {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb) {
|
||||
background: linear-gradient(180deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb:hover) {
|
||||
background: linear-gradient(180deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
/* 表格内按钮和开关样式 */
|
||||
:deep(#tableStyle .el-button--text) {
|
||||
color: #2e7d32;
|
||||
font-weight: 500;
|
||||
padding: 6px 12px;
|
||||
border-radius: 8px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-button--text:hover) {
|
||||
color: #1b5e20;
|
||||
background: rgba(129, 199, 132, 0.2);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-switch.is-checked .el-switch__core) {
|
||||
background-color: #4caf50 !important;
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-switch__core) {
|
||||
border-color: rgba(129, 199, 132, 0.5) !important;
|
||||
background-color: #e0e0e0 !important;
|
||||
transition: all 0.3s ease !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-switch.is-checked .el-switch__core::after) {
|
||||
background-color: #ffffff !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-switch__core::after) {
|
||||
background-color: #ffffff !important;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-switch:hover .el-switch__core) {
|
||||
border-color: rgba(76, 175, 80, 0.8) !important;
|
||||
}
|
||||
|
||||
:deep(#tableStyle .el-switch.is-checked:hover .el-switch__core) {
|
||||
background-color: #66bb6a !important;
|
||||
border-color: #66bb6a !important;
|
||||
}
|
||||
|
||||
.taskDialog :deep(.el-dialog) {
|
||||
border-radius: 18px;
|
||||
border: 1px solid rgba(129, 199, 132, 0.35);
|
||||
box-shadow: 0 12px 30px rgba(76, 175, 80, 0.18);
|
||||
}
|
||||
.taskDialog :deep(.el-dialog__header) {
|
||||
background: linear-gradient(135deg, #4caf50, #2e7d32);
|
||||
color: #fff;
|
||||
border-radius: 18px 18px 0 0;
|
||||
}
|
||||
.taskDialog :deep(.el-form-item__label) {
|
||||
color: #1b5e20;
|
||||
font-weight: 600;
|
||||
}
|
||||
.dialog-footer {
|
||||
text-align: right;
|
||||
margin-top: 12px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
/* 全局表格样式覆盖 - 确保主题样式生效 */
|
||||
#tableStyle.el-table {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
border-radius: 16px !important;
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border {
|
||||
border: 1px solid rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border::after,
|
||||
#tableStyle.el-table.el-table--border::before {
|
||||
background-color: rgba(129, 199, 132, 0.3) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th {
|
||||
border-right: 1px solid rgba(129, 199, 132, 0.25) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border th:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td {
|
||||
border-right: 1px solid rgba(76, 175, 80, 0.08) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--border td:last-child {
|
||||
border-right: none !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped td {
|
||||
background: rgba(233, 247, 235, 0.65) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--striped .el-table__body tr.el-table__row--striped:hover td {
|
||||
background: rgba(200, 230, 201, 0.5) !important;
|
||||
}
|
||||
|
||||
/* 滚动条全局样式 */
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar {
|
||||
height: 8px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||
background: linear-gradient(90deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
|
||||
background: linear-gradient(90deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper {
|
||||
scrollbar-width: thin !important;
|
||||
scrollbar-color: rgba(76, 175, 80, 0.4) rgba(232, 245, 233, 0.5) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar {
|
||||
width: 8px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-track {
|
||||
background: rgba(232, 245, 233, 0.5) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb {
|
||||
background: linear-gradient(180deg, #81c784, #66bb6a) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table.el-table--scrollable-y .el-table__body-wrapper::-webkit-scrollbar-thumb:hover {
|
||||
background: linear-gradient(180deg, #66bb6a, #4caf50) !important;
|
||||
}
|
||||
|
||||
/* 表头样式全局覆盖 */
|
||||
#tableStyle.el-table .el-table__header-wrapper th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
padding: 12px 0 !important;
|
||||
text-align: center !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header-wrapper thead th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
/* 覆盖自定义表头类名 sinCl */
|
||||
#tableStyle.el-table .el-table__header th.sinCl {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
font-size: 14px !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table .el-table__header th.sinCl .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
/* 更通用的表头选择器 */
|
||||
#tableStyle.el-table th,
|
||||
#tableStyle.el-table thead th,
|
||||
#tableStyle.el-table .el-table__header th,
|
||||
#tableStyle.el-table .el-table__header-wrapper th {
|
||||
background: linear-gradient(90deg, #e0f0e2, #f2fbf3) !important;
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.35) !important;
|
||||
}
|
||||
|
||||
#tableStyle.el-table th .cell,
|
||||
#tableStyle.el-table thead th .cell,
|
||||
#tableStyle.el-table .el-table__header th .cell {
|
||||
color: #1b5e20 !important;
|
||||
font-weight: 600 !important;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
|
||||
}
|
||||
|
||||
/* Switch 组件全局样式 */
|
||||
#tableStyle .el-switch {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch.is-checked .el-switch__core {
|
||||
background-color: #4caf50 !important;
|
||||
border-color: #4caf50 !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch__core {
|
||||
border-color: rgba(129, 199, 132, 0.5) !important;
|
||||
background-color: #e0e0e0 !important;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch.is-checked .el-switch__core::after {
|
||||
background-color: #ffffff !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch__core::after {
|
||||
background-color: #ffffff !important;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch:hover .el-switch__core {
|
||||
border-color: rgba(76, 175, 80, 0.8) !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch.is-checked:hover .el-switch__core {
|
||||
background-color: #66bb6a !important;
|
||||
border-color: #66bb6a !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch.is-disabled .el-switch__core {
|
||||
background-color: #f5f5f5 !important;
|
||||
border-color: #e0e0e0 !important;
|
||||
opacity: 0.6 !important;
|
||||
}
|
||||
|
||||
#tableStyle .el-switch.is-disabled.is-checked .el-switch__core {
|
||||
background-color: rgba(76, 175, 80, 0.4) !important;
|
||||
border-color: rgba(76, 175, 80, 0.4) !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -206,20 +206,24 @@ body {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
/*background: url(../../assets/images/background.jpg) no-repeat;
|
||||
background-size:100% 100%;
|
||||
background-attachment:fixed;*/
|
||||
background: linear-gradient(160deg, rgba(232, 245, 233, 0.95), rgba(248, 253, 249, 0.9));
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding: 80px 20px 40px;
|
||||
overflow-y: auto;
|
||||
.tips {
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.title {
|
||||
font-family: PingFangSC-Regular;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
color: #2c3e50;
|
||||
background: linear-gradient(135deg, rgba(157, 187, 231, 0.15) 0%, rgba(157, 187, 231, 0.05) 100%);
|
||||
font-weight: 650;
|
||||
color: #1b5e20;
|
||||
background: linear-gradient(135deg, rgba(129, 199, 132, 0.2) 0%, rgba(200, 230, 201, 0.2) 100%);
|
||||
width: 100%;
|
||||
height: 70px;
|
||||
line-height: 70px;
|
||||
@@ -227,7 +231,7 @@ body {
|
||||
padding: 0;
|
||||
text-align: center;
|
||||
border-radius: 16px 16px 0 0;
|
||||
border-bottom: 1px solid rgba(157, 187, 231, 0.2);
|
||||
border-bottom: 1px solid rgba(129, 199, 132, 0.25);
|
||||
}
|
||||
.el-form-item {
|
||||
margin-left: 30px;
|
||||
@@ -277,12 +281,13 @@ body {
|
||||
min-width: 0;
|
||||
}
|
||||
input {
|
||||
background: transparent !important;
|
||||
border: 0px !important;
|
||||
padding: 14px 0px 14px 12px;
|
||||
font-family: PingFangSC-Regular;
|
||||
background: rgba(255, 255, 255, 0.85) !important;
|
||||
border: 1px solid rgba(129, 199, 132, 0.4) !important;
|
||||
padding: 14px 12px;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 15px;
|
||||
color: #2c3e50;
|
||||
color: #1b5e20;
|
||||
border-radius: 12px;
|
||||
transition: all 0.3s ease;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
@@ -291,8 +296,8 @@ body {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
&::placeholder {
|
||||
color: #889aa4;
|
||||
font-family: PingFangSC-Regular;
|
||||
color: #4e7d4f;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 15px;
|
||||
opacity: 0.7;
|
||||
}
|
||||
@@ -301,43 +306,31 @@ body {
|
||||
}
|
||||
}
|
||||
.main-title {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 45px;
|
||||
margin: 0 auto;
|
||||
margin: 0 0 32px 0;
|
||||
font-family: "PingFang SC", "Microsoft YaHei", "SimHei", "STHeiti", "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 48px;
|
||||
font-size: 60px;
|
||||
font-weight: 700;
|
||||
color: #264672;
|
||||
color: #1b5e20;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
z-index: 1;
|
||||
text-shadow: 0 2px 8px rgba(38, 70, 114, 0.2),
|
||||
0 4px 16px rgba(38, 70, 114, 0.15),
|
||||
0 8px 32px rgba(38, 70, 114, 0.1);
|
||||
letter-spacing: 5px;
|
||||
text-shadow: 0 8px 30px rgba(27, 94, 32, 0.2);
|
||||
letter-spacing: 4px;
|
||||
line-height: 1.4;
|
||||
padding: 0 30px 25px 30px;
|
||||
padding: 0 30px 120px 30px;
|
||||
box-sizing: border-box;
|
||||
animation: titleFadeIn 0.8s ease-out;
|
||||
position: relative;
|
||||
&::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
bottom: -6px;
|
||||
transform: translateX(-50%);
|
||||
width: 150px;
|
||||
height: 4px;
|
||||
background: linear-gradient(90deg,
|
||||
transparent 0%,
|
||||
rgba(91, 141, 239, 0.3) 20%,
|
||||
#5b8def 50%,
|
||||
rgba(91, 141, 239, 0.3) 80%,
|
||||
transparent 100%);
|
||||
background: linear-gradient(90deg, transparent 0%, rgba(129, 199, 132, 0.6) 20%, #4caf50 50%, rgba(129, 199, 132, 0.6) 80%, transparent 100%);
|
||||
border-radius: 2px;
|
||||
box-shadow: 0 2px 8px rgba(91, 141, 239, 0.4);
|
||||
box-shadow: 0 2px 8px rgba(76, 175, 80, 0.35);
|
||||
}
|
||||
}
|
||||
@keyframes titleFadeIn {
|
||||
@@ -351,18 +344,15 @@ body {
|
||||
}
|
||||
}
|
||||
.login-form {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 120px auto;
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
backdrop-filter: blur(20px);
|
||||
-webkit-backdrop-filter: blur(20px);
|
||||
box-shadow: 0 8px 32px rgba(38, 70, 114, 0.15),
|
||||
0 2px 8px rgba(0, 0, 0, 0.1),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.6);
|
||||
border-radius: 20px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
margin: 0 auto 40px;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(18px);
|
||||
-webkit-backdrop-filter: blur(18px);
|
||||
box-shadow: 0 12px 36px rgba(76, 175, 80, 0.18),
|
||||
0 4px 12px rgba(0, 0, 0, 0.08),
|
||||
inset 0 1px 0 rgba(255, 255, 255, 0.7);
|
||||
border-radius: 24px;
|
||||
border: 1px solid rgba(129, 199, 132, 0.35);
|
||||
width: 420px;
|
||||
min-height: 450px;
|
||||
padding-bottom: 20px;
|
||||
@@ -390,7 +380,7 @@ body {
|
||||
width: 100%;
|
||||
height: 46px;
|
||||
margin: 0;
|
||||
background: linear-gradient(135deg, #5b8def 0%, #4a7dd8 100%) !important;
|
||||
background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%) !important;
|
||||
border: none !important;
|
||||
border-radius: 12px !important;
|
||||
font-family: PingFangSC-Regular;
|
||||
@@ -399,22 +389,22 @@ body {
|
||||
color: #ffffff !important;
|
||||
letter-spacing: 1px;
|
||||
text-align: center;
|
||||
box-shadow: 0 4px 14px rgba(91, 141, 239, 0.4),
|
||||
0 2px 4px rgba(91, 141, 239, 0.2);
|
||||
box-shadow: 0 4px 14px rgba(76, 175, 80, 0.35),
|
||||
0 2px 4px rgba(76, 175, 80, 0.2);
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
&:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 20px rgba(91, 141, 239, 0.5),
|
||||
0 4px 8px rgba(91, 141, 239, 0.3);
|
||||
background: linear-gradient(135deg, #6b9dff 0%, #5a8de8 100%) !important;
|
||||
box-shadow: 0 6px 20px rgba(76, 175, 80, 0.45),
|
||||
0 4px 8px rgba(76, 175, 80, 0.25);
|
||||
background: linear-gradient(135deg, #66bb6a 0%, #43a047 100%) !important;
|
||||
}
|
||||
&:active {
|
||||
transform: translateY(0);
|
||||
box-shadow: 0 3px 10px rgba(91, 141, 239, 0.35),
|
||||
0 1px 3px rgba(91, 141, 239, 0.2);
|
||||
box-shadow: 0 3px 10px rgba(76, 175, 80, 0.35),
|
||||
0 1px 3px rgba(76, 175, 80, 0.18);
|
||||
}
|
||||
}
|
||||
.register-button {
|
||||
@@ -422,43 +412,43 @@ body {
|
||||
height: 46px;
|
||||
margin: 0;
|
||||
background: rgba(255, 255, 255, 0.95) !important;
|
||||
border: 1.5px solid #5b8def !important;
|
||||
border: 1.5px solid #4caf50 !important;
|
||||
border-radius: 12px !important;
|
||||
font-family: PingFangSC-Regular;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: #5b8def !important;
|
||||
color: #2e7d32 !important;
|
||||
letter-spacing: 1px;
|
||||
text-align: center;
|
||||
box-shadow: 0 2px 8px rgba(91, 141, 239, 0.2),
|
||||
0 1px 3px rgba(91, 141, 239, 0.1);
|
||||
box-shadow: 0 2px 8px rgba(76, 175, 80, 0.25),
|
||||
0 1px 3px rgba(76, 175, 80, 0.12);
|
||||
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
transform: translateY(-2px);
|
||||
background: rgba(91, 141, 239, 0.08) !important;
|
||||
border-color: #6b9dff !important;
|
||||
background: rgba(76, 175, 80, 0.08) !important;
|
||||
border-color: #66bb6a !important;
|
||||
border-width: 1.5px !important;
|
||||
box-shadow: 0 4px 14px rgba(91, 141, 239, 0.3),
|
||||
0 2px 6px rgba(91, 141, 239, 0.15);
|
||||
color: #6b9dff !important;
|
||||
box-shadow: 0 4px 14px rgba(76, 175, 80, 0.3),
|
||||
0 2px 6px rgba(76, 175, 80, 0.15);
|
||||
color: #2e7d32 !important;
|
||||
}
|
||||
&:active {
|
||||
transform: translateY(0);
|
||||
box-shadow: 0 2px 6px rgba(91, 141, 239, 0.25),
|
||||
0 1px 2px rgba(91, 141, 239, 0.15);
|
||||
box-shadow: 0 2px 6px rgba(76, 175, 80, 0.25),
|
||||
0 1px 2px rgba(76, 175, 80, 0.15);
|
||||
}
|
||||
}
|
||||
.login-text1 {
|
||||
position: absolute;
|
||||
left: 30px;
|
||||
font-size: 13px;
|
||||
color: #7a8ba3;
|
||||
font-family: PingFangSC-Regular;
|
||||
color: #4e7d4f;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
&:hover {
|
||||
color: #264672;
|
||||
color: #1b5e20;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
@@ -466,29 +456,29 @@ body {
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
font-size: 13px;
|
||||
color: #7a8ba3;
|
||||
font-family: PingFangSC-Regular;
|
||||
color: #4e7d4f;
|
||||
font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
|
||||
text-decoration: none;
|
||||
transition: all 0.3s ease;
|
||||
&:hover {
|
||||
color: #264672;
|
||||
color: #1b5e20;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
// Element UI 输入框图标样式
|
||||
.el-input__prefix,
|
||||
.el-input__suffix {
|
||||
color: #7a8ba3;
|
||||
color: #6f946f;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
.el-form-item:focus-within .el-input__prefix,
|
||||
.el-form-item:focus-within .el-input__suffix {
|
||||
color: #264672;
|
||||
color: #1b5e20;
|
||||
}
|
||||
.el-input__suffix {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
color: #264672;
|
||||
color: #1b5e20;
|
||||
}
|
||||
}
|
||||
.extra-text {
|
||||
@@ -501,19 +491,14 @@ body {
|
||||
@media all and (max-width: 480px) {
|
||||
.main-title {
|
||||
font-size: 28px;
|
||||
top: 40px;
|
||||
letter-spacing: 2px;
|
||||
padding: 0 20px;
|
||||
padding: 0 20px 12px 20px;
|
||||
line-height: 1.4;
|
||||
&::before {
|
||||
width: 80px;
|
||||
height: 2px;
|
||||
}
|
||||
}
|
||||
.login-form {
|
||||
width: 90% !important;
|
||||
max-width: 340px !important;
|
||||
margin: 180px auto;
|
||||
margin: 0 auto 40px;
|
||||
border-radius: 16px;
|
||||
}
|
||||
.login-container .login-button,
|
||||
|
||||
Reference in New Issue
Block a user