diff --git a/.playwright-mcp/page-2026-04-17T07-02-11-484Z.yml b/.playwright-mcp/page-2026-04-17T07-02-11-484Z.yml
new file mode 100644
index 0000000..89bc60b
--- /dev/null
+++ b/.playwright-mcp/page-2026-04-17T07-02-11-484Z.yml
@@ -0,0 +1,3 @@
+- main [ref=e5]:
+ - iframe [ref=e7]:
+
\ No newline at end of file
diff --git a/.playwright-mcp/page-2026-04-17T07-02-25-231Z.png b/.playwright-mcp/page-2026-04-17T07-02-25-231Z.png
new file mode 100644
index 0000000..86a5725
Binary files /dev/null and b/.playwright-mcp/page-2026-04-17T07-02-25-231Z.png differ
diff --git a/App.vue b/App.vue
index ca3b3be..4ebdfce 100644
--- a/App.vue
+++ b/App.vue
@@ -62,15 +62,60 @@
/* #ifndef APP-NVUE */
@import '@/static/customicons.css';
/* #endif */
- // 设置整个项目的背景色
+
+ // ========== 浅藻绿 设计系统 ==========
+ $primary: #2BA471;
+ $primary-light: #48C68B;
+ $primary-dark: #1F8C5E;
+ $success: #2BA471;
+ $warning: #E37318;
+ $danger: #D54941;
+ $text-primary: #1A2E25;
+ $text-secondary: #3D5347;
+ $text-hint: #7C9488;
+ $bg-page: #F5FAF7;
+ $bg-card: #FFFFFF;
+ $border-color: #C4C6D0;
+ $radius-sm: 8rpx;
+ $radius-md: 12rpx;
+ $radius-lg: 16rpx;
+ $shadow-sm: 0 2rpx 8rpx rgba(25, 27, 35, 0.03);
+ $shadow-md: 0 8rpx 24rpx rgba(25, 27, 35, 0.06);
+ $shadow-lg: 0 12rpx 40rpx rgba(25, 27, 35, 0.08);
+
+ // Precision Ethereal - Tonal Surface System
page {
- background-color: #f7f7f7;
+ background-color: $bg-page;
+ font-family: 'Inter', 'PingFang SC', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
+ -webkit-font-smoothing: antialiased;
}
+
.container {
- color: #333;
- padding: 0rpx 12rpx;
- background-color: #fff;
+ color: $text-primary;
+ padding: 0rpx 20rpx;
+ background-color: transparent;
+ min-height: 100vh;
}
+
+ // ========== 卡片组件 ==========
+ .card {
+ background-color: $bg-card;
+ border-radius: $radius-lg;
+ padding: 28rpx 24rpx;
+ margin-bottom: 20rpx;
+ box-shadow: $shadow-sm;
+ }
+
+ .card-title {
+ font-size: 30rpx;
+ font-weight: 600;
+ color: $text-primary;
+ margin-bottom: 16rpx;
+ padding-left: 16rpx;
+ border-left: 6rpx solid $primary;
+ }
+
+ // ========== 表单美化 ==========
.uni-forms-item {
margin-bottom: 8rpx !important;
}
@@ -81,72 +126,152 @@
display: flex;
align-items: center;
}
+
+ // 表单容器卡片样式
+ .form-card {
+ background-color: $bg-card;
+ border-radius: $radius-lg;
+ padding: 20rpx 24rpx;
+ margin: 16rpx 0;
+ box-shadow: $shadow-sm;
+ }
+
+ // ========== 按钮美化 ==========
+ .btn-primary {
+ background: linear-gradient(135deg, $primary, $primary-dark) !important;
+ color: #fff !important;
+ border: none !important;
+ border-radius: $radius-md !important;
+ font-weight: 500;
+ letter-spacing: 2rpx;
+ box-shadow: 0 4rpx 12rpx rgba(43, 164, 113, 0.2);
+ &:active {
+ opacity: 0.85;
+ transform: scale(0.98);
+ }
+ }
+
+ .btn-danger {
+ background: linear-gradient(135deg, $danger, #DC2626) !important;
+ color: #fff !important;
+ border: none !important;
+ border-radius: $radius-md !important;
+ font-weight: 500;
+ box-shadow: 0 4rpx 12rpx rgba(239, 68, 68, 0.3);
+ }
+
+ // ========== 对话框美化 ==========
.dialogWrap {
position: fixed;
width: 100vw;
height: 100vh;
- background-color: rgba(0, 0, 0, .3);
+ background-color: rgba(28, 25, 23, 0.5);
top: 0;
left: 0;
z-index: 110;
}
-
+
.dialogCont {
- width: 92vw;
+ width: 88vw;
position: absolute;
top: 50%;
margin: auto;
- background-color: #ffffff;
- left: 2vw;
+ background-color: $bg-card;
+ left: 6vw;
transform: translateY(-50%);
- padding: 10rpx;
- border-radius: 20rpx;
+ padding: 32rpx;
+ border-radius: $radius-lg;
+ box-shadow: $shadow-lg;
}
-
+
.dialogTitle {
- font-size: 28rpx;
- padding-bottom: 12rpx;
- border-bottom: 1upx solid #eeeeee;
+ font-size: 32rpx;
+ font-weight: 600;
+ color: $text-primary;
+ padding-bottom: 20rpx;
display: flex;
justify-content: space-between;
+ align-items: center;
}
+
+ // ========== 固定头部/底部 ==========
.header_sticky {
position: -webkit-sticky;
position: sticky;
- top: 90rpx;
+ top: 0;
z-index: 10;
- background-color: white;
+ background-color: $bg-card;
display: flex;
align-items: center;
justify-content: space-between;
+ padding: 12rpx 8rpx;
+ border-radius: 0 0 $radius-md $radius-md;
+ box-shadow: $shadow-sm;
}
.header_fixed {
position: fixed;
width: 100%;
top: env(safe-area-inset-top)px;
z-index: 1;
- background-color: white;
+ background-color: $bg-card;
}
+
.footer_sticky {
position: sticky;
bottom: 0;
left: 0;
right: 0;
- background-color: #fff;
- padding: 12rpx;
- box-shadow: 0 -2rpx 8rpx rgba(0, 0, 0, 0.1);
+ background-color: $bg-card;
+ padding: 16rpx 24rpx;
+ box-shadow: 0 -4rpx 16rpx rgba(28, 25, 23, 0.06);
z-index: 10;
+ border-radius: $radius-lg $radius-lg 0 0;
}
- .footer_fixed{
+ .footer_fixed {
position: fixed;
width: 100%;
bottom: 0;
- z-index: 1;
- height: 60upx;
- padding: 12upx;
+ z-index: 100;
+ padding: 16rpx 24rpx;
left: 0;
- background-color: white;
+ background-color: rgba(245, 250, 247, 0.88);
+ -webkit-backdrop-filter: blur(20px);
+ backdrop-filter: blur(20px);
display: flex;
- margin: auto;
+ align-items: center;
+ justify-content: center;
+ gap: 16rpx;
+ box-sizing: border-box;
+ padding-bottom: calc(16rpx + env(safe-area-inset-bottom));
+ }
+
+ // ========== 状态标签美化 ==========
+ .status-tag {
+ display: inline-flex;
+ align-items: center;
+ padding: 4rpx 16rpx;
+ border-radius: 20rpx;
+ font-size: 22rpx;
+ font-weight: 500;
+ }
+
+ // ========== 空状态提示 ==========
+ .empty-hint {
+ text-align: center;
+ padding: 80rpx 0;
+ color: $text-hint;
+ font-size: 28rpx;
+ }
+
+ // ========== 分割线 ==========
+ .divider {
+ height: 1rpx;
+ background-color: $border-color;
+ margin: 16rpx 0;
+ }
+
+ // ========== 段落间距 ==========
+ .section-gap {
+ height: 20rpx;
}
diff --git a/pages.json b/pages.json
index dc4ea0a..6b5180e 100644
--- a/pages.json
+++ b/pages.json
@@ -161,21 +161,27 @@
},
{
"path" : "pages/hrm/probation_form",
- "style" :
+ "style" :
{
"navigationBarTitleText" : "劳动合同续签"
}
+ },
+ {
+ "path" : "pages/hrm/empcontract_form",
+ "style" :
+ {
+ "navigationBarTitleText" : "合同变更"
+ }
}
],
"globalStyle": {
- "navigationBarTextStyle": "black",
- "navigationBarTitleText": "uni-app",
- "navigationBarBackgroundColor": "#FFFFFF",
- "backgroundColor": "#FFFFFF",
- // "backgroundColor": "#F8F8F8",
+ "navigationBarTextStyle": "white",
+ "navigationBarTitleText": "",
+ "navigationBarBackgroundColor": "#2BA471",
+ "backgroundColor": "#F5FAF7",
"app-plus": {
- "background": "#efeff4"
+ "background": "#F5FAF7"
}
}
// "tabBar": {
diff --git a/pages/asm/assetlogin_form.vue b/pages/asm/assetlogin_form.vue
index e72fede..d56474d 100644
--- a/pages/asm/assetlogin_form.vue
+++ b/pages/asm/assetlogin_form.vue
@@ -1,11 +1,16 @@
-
+
+
+
+
+
+ 资产信息
{{form.keeper_name}}
@@ -23,6 +28,7 @@
:disabled="mode !== 'add'"
/>
+
@@ -248,7 +247,15 @@ export default {
}
}
-
diff --git a/pages/auth/login.vue b/pages/auth/login.vue
index eccef4a..c9cd503 100644
--- a/pages/auth/login.vue
+++ b/pages/auth/login.vue
@@ -1,47 +1,61 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
- 下载中 请勿退出 {{percentVal}}%
-
@@ -370,8 +384,188 @@
}
-
\ No newline at end of file
diff --git a/pages/em/repair_form.vue b/pages/em/repair_form.vue
index 9ddcf63..1e3a994 100644
--- a/pages/em/repair_form.vue
+++ b/pages/em/repair_form.vue
@@ -1,9 +1,13 @@
-
-
+
+
-
+
+
+
+
+ 维修信息
{{form.create_time}}
@@ -15,8 +19,8 @@
{{form.equipment_fullname}}
-
- {{form.fault_description}}
+
+ {{form.fault_description}}
{{form.repair_duration}}
-
- {{form.repair_description}}
+
+ {{form.repair_description}}
+