diff --git a/App.vue b/App.vue
index f1f5e3b..5a86321 100644
--- a/App.vue
+++ b/App.vue
@@ -10,27 +10,38 @@ export default {
diff --git a/components/fy-files.vue b/components/fy-files.vue
index 312aaa4..3a7a395 100644
--- a/components/fy-files.vue
+++ b/components/fy-files.vue
@@ -45,21 +45,21 @@ export default {
diff --git a/components/fy-header.vue b/components/fy-header.vue
index 128ea9c..031c96a 100644
--- a/components/fy-header.vue
+++ b/components/fy-header.vue
@@ -47,22 +47,38 @@ export default {
diff --git a/pages.json b/pages.json
index abeb2c2..5ee9914 100644
--- a/pages.json
+++ b/pages.json
@@ -36,15 +36,15 @@
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "风影随行通讯",
- "navigationBarBackgroundColor": "#FAF8FF",
- "backgroundColor": "#FAF8FF",
- "backgroundColorTop": "#FAF8FF",
- "backgroundColorBottom": "#FAF8FF"
+ "navigationBarBackgroundColor": "#F5F7FA",
+ "backgroundColor": "#F5F7FA",
+ "backgroundColorTop": "#F5F7FA",
+ "backgroundColorBottom": "#F5F7FA"
},
"tabBar": {
- "color": "#434655",
- "selectedColor": "#2563EB",
- "backgroundColor": "#FAF8FF",
+ "color": "#8A9199",
+ "selectedColor": "#1677FF",
+ "backgroundColor": "#FFFFFF",
"borderStyle": "white",
"list": [
{ "pagePath": "pages/tabs/messages", "text": "消息", "iconPath": "static/tab/msg.png", "selectedIconPath": "static/tab/msg-on.png" },
diff --git a/pages/apply/form.vue b/pages/apply/form.vue
index aefc9cc..bde67cd 100644
--- a/pages/apply/form.vue
+++ b/pages/apply/form.vue
@@ -164,14 +164,14 @@ export default {
diff --git a/pages/apply/list.vue b/pages/apply/list.vue
index cd0c759..a10ff95 100644
--- a/pages/apply/list.vue
+++ b/pages/apply/list.vue
@@ -56,12 +56,12 @@ export default {
diff --git a/pages/bills/list.vue b/pages/bills/list.vue
index 30b270d..c3153c5 100644
--- a/pages/bills/list.vue
+++ b/pages/bills/list.vue
@@ -53,7 +53,7 @@ export default {
diff --git a/pages/chat/call.vue b/pages/chat/call.vue
index 1aca55c..8fcbd5b 100644
--- a/pages/chat/call.vue
+++ b/pages/chat/call.vue
@@ -95,11 +95,11 @@ export default {
.stage { flex: 1; position: relative; }
.wv { position: absolute; inset: 0; }
.wait { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
-.av { width: 160rpx; height: 160rpx; border-radius: 50%; background: #2563eb; display: flex; align-items: center; justify-content: center; font-size: 64rpx; font-weight: 700; }
+.av { width: 160rpx; height: 160rpx; border-radius: 50%; background: #1677FF; display: flex; align-items: center; justify-content: center; font-size: 64rpx; font-weight: 700; }
.name { margin-top: 24rpx; font-size: 36rpx; font-weight: 700; }
.st { margin-top: 8rpx; color: rgba(255,255,255,0.65); }
.acts { display: flex; justify-content: center; gap: 32rpx; padding: 32rpx 24rpx calc(32rpx + env(safe-area-inset-bottom)); }
.btn { min-width: 200rpx; height: 80rpx; border-radius: 999rpx; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 600; }
.ok { background: #006c49; }
-.no { background: #ba1a1a; }
+.no { background: #DC2626; }
diff --git a/pages/chat/chat.vue b/pages/chat/chat.vue
index 2d8e189..19da2f2 100644
--- a/pages/chat/chat.vue
+++ b/pages/chat/chat.vue
@@ -723,8 +723,8 @@ export default {
.ck.on { background: #07c160; border-color: #07c160; }
.col { max-width: 70%; display: flex; flex-direction: column; }
.col.mine { align-items: flex-end; }
-.av { width: 80rpx; height: 80rpx; border-radius: 10rpx; background: #dae2fd; color: #004ac6; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 700; }
-.av.self { background: #2563eb; color: #fff; }
+.av { width: 80rpx; height: 80rpx; border-radius: 10rpx; background: #dae2fd; color: #1677FF; overflow: hidden; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 700; }
+.av.self { background: #1677FF; color: #fff; }
.av image { width: 80rpx; height: 80rpx; }
.who { font-size: 20rpx; color: #888; margin-bottom: 4rpx; }
.ball { background: #fff; padding: 16rpx 20rpx; border-radius: 8rpx; font-size: 30rpx; word-break: break-all; line-height: 1.45; }
@@ -735,7 +735,7 @@ export default {
.pic { max-width: 420rpx; border-radius: 8rpx; display: block; }
.file, .cardtxt { display: flex; flex-direction: column; }
.fn, .ct { font-weight: 600; }
-.fs, .cs { font-size: 22rpx; margin-top: 6rpx; color: #2563eb; }
+.fs, .cs { font-size: 22rpx; margin-top: 6rpx; color: #1677FF; }
.tm { font-size: 20rpx; color: #b2b2b2; margin-top: 6rpx; }
.tm.read { color: #07c160; }
.recmask {
diff --git a/pages/chat/create.vue b/pages/chat/create.vue
index 7af162c..5c1dbf7 100644
--- a/pages/chat/create.vue
+++ b/pages/chat/create.vue
@@ -67,15 +67,15 @@ export default {
diff --git a/pages/chat/forward.vue b/pages/chat/forward.vue
index 5644f9e..c0dbdea 100644
--- a/pages/chat/forward.vue
+++ b/pages/chat/forward.vue
@@ -102,7 +102,7 @@ export default {
.snip { padding: 8rpx 32rpx 16rpx; font-size: 22rpx; color: #888; }
.sec { padding: 16rpx 32rpx 8rpx; font-size: 22rpx; color: #888; background: #f7f7f7; }
.item { display: flex; align-items: center; padding: 20rpx 24rpx; background: #fff; }
-.av { width: 80rpx; height: 80rpx; border-radius: 10rpx; background: #e2e7ff; color: #004ac6; display: flex; align-items: center; justify-content: center; font-weight: 700; overflow: hidden; flex-shrink: 0; }
+.av { width: 80rpx; height: 80rpx; border-radius: 10rpx; background: #E8F1FF; color: #1677FF; display: flex; align-items: center; justify-content: center; font-weight: 700; overflow: hidden; flex-shrink: 0; }
.av.img { width: 80rpx; height: 80rpx; }
.n { margin-left: 20rpx; font-size: 30rpx; }
.empty { padding: 80rpx; text-align: center; color: #888; }
diff --git a/pages/chat/group.vue b/pages/chat/group.vue
index a83fc40..fa16f1d 100644
--- a/pages/chat/group.vue
+++ b/pages/chat/group.vue
@@ -105,20 +105,20 @@ export default {
diff --git a/pages/chat/setting.vue b/pages/chat/setting.vue
index dd99078..ecce259 100644
--- a/pages/chat/setting.vue
+++ b/pages/chat/setting.vue
@@ -105,15 +105,15 @@ export default {
diff --git a/pages/chat/work.vue b/pages/chat/work.vue
index 6bc24b3..bd8b9d5 100644
--- a/pages/chat/work.vue
+++ b/pages/chat/work.vue
@@ -64,16 +64,16 @@ export default {
diff --git a/pages/contact/detail.vue b/pages/contact/detail.vue
index 2f2d41e..f851065 100644
--- a/pages/contact/detail.vue
+++ b/pages/contact/detail.vue
@@ -110,20 +110,20 @@ export default {
diff --git a/pages/coop/create.vue b/pages/coop/create.vue
index e9b5caf..c7038ff 100644
--- a/pages/coop/create.vue
+++ b/pages/coop/create.vue
@@ -67,7 +67,7 @@ export default {
diff --git a/pages/coop/list.vue b/pages/coop/list.vue
index 91bc719..acbe2d9 100644
--- a/pages/coop/list.vue
+++ b/pages/coop/list.vue
@@ -59,11 +59,11 @@ export default {
diff --git a/pages/erp/hub.vue b/pages/erp/hub.vue
index 0694aa2..125d348 100644
--- a/pages/erp/hub.vue
+++ b/pages/erp/hub.vue
@@ -111,10 +111,10 @@ export default {
diff --git a/pages/login/login.vue b/pages/login/login.vue
index e36f2a1..deaaa79 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -125,29 +125,29 @@ export default {
.body { padding: 48rpx 40rpx 80rpx; }
.brand-box { display: flex; flex-direction: column; align-items: center; margin-bottom: 48rpx; }
.logo {
- width: 128rpx; height: 128rpx; border-radius: 32rpx;
- background: linear-gradient(135deg, #004ac6, #2563eb);
- color: #fff; font-size: 52rpx; font-weight: 700;
+ width: 112rpx; height: 112rpx; border-radius: 28rpx;
+ background: #1677FF;
+ color: #fff; font-size: 48rpx; font-weight: 650;
display: flex; align-items: center; justify-content: center;
- margin-bottom: 20rpx;
+ margin-bottom: 24rpx;
}
-.name { font-size: 40rpx; font-weight: 700; }
-.sub { font-size: 22rpx; color: #737686; margin-top: 8rpx; }
+.name { font-size: 40rpx; font-weight: 650; letter-spacing: 0.5rpx; }
+.sub { font-size: 24rpx; color: #6B7280; margin-top: 10rpx; }
.field { margin-bottom: 24rpx; }
-.lab { font-size: 24rpx; color: #434655; margin-bottom: 8rpx; display: block; }
+.lab { font-size: 26rpx; color: #374151; margin-bottom: 10rpx; display: block; }
.box {
height: 96rpx; background: #fff; border-radius: 16rpx;
- border: 1rpx solid rgba(0,0,0,0.04); padding: 0 24rpx;
+ border: 1rpx solid rgba(17,24,39,0.08); padding: 0 24rpx;
display: flex; align-items: center;
}
-.box input { flex: 1; font-size: 28rpx; }
-.pre { font-size: 24rpx; color: #737686; margin-right: 16rpx; padding-right: 16rpx; border-right: 1rpx solid #eaedff; }
-.eye, .sms { font-size: 22rpx; color: #2563eb; padding-left: 12rpx; }
-.sms.off { color: #737686; }
-.agree { display: flex; align-items: flex-start; gap: 12rpx; margin: 16rpx 0 32rpx; }
-.ck { width: 28rpx; height: 28rpx; border: 2rpx solid #c3c6d7; border-radius: 6rpx; margin-top: 4rpx; }
-.ck.on { background: #2563eb; border-color: #2563eb; }
-.ag { flex: 1; font-size: 22rpx; color: #737686; line-height: 1.5; }
-.err { display: block; color: #ba1a1a; font-size: 24rpx; margin-top: 16rpx; text-align: center; }
+.box input { flex: 1; font-size: 30rpx; }
+.pre { font-size: 26rpx; color: #6B7280; margin-right: 16rpx; padding-right: 16rpx; border-right: 1rpx solid #E8ECF2; }
+.eye, .sms { font-size: 26rpx; color: #1677FF; padding-left: 12rpx; }
+.sms.off { color: #6B7280; }
+.agree { display: flex; align-items: flex-start; gap: 12rpx; margin: 16rpx 0 36rpx; }
+.ck { width: 32rpx; height: 32rpx; border: 2rpx solid #D1D5DB; border-radius: 8rpx; margin-top: 4rpx; flex-shrink: 0; }
+.ck.on { background: #1677FF; border-color: #1677FF; }
+.ag { flex: 1; font-size: 24rpx; color: #6B7280; line-height: 1.55; }
+.err { display: block; color: #DC2626; font-size: 26rpx; margin-top: 16rpx; text-align: center; }
.dim { opacity: 0.65; }
diff --git a/pages/me/archive.vue b/pages/me/archive.vue
index 9790efc..28044fd 100644
--- a/pages/me/archive.vue
+++ b/pages/me/archive.vue
@@ -40,7 +40,7 @@ export default {
diff --git a/pages/me/payslip.vue b/pages/me/payslip.vue
index 761560f..6f7e420 100644
--- a/pages/me/payslip.vue
+++ b/pages/me/payslip.vue
@@ -27,6 +27,6 @@ export default {
diff --git a/pages/me/performance.vue b/pages/me/performance.vue
index f56bd5f..0e65d63 100644
--- a/pages/me/performance.vue
+++ b/pages/me/performance.vue
@@ -27,6 +27,6 @@ export default {
diff --git a/pages/notice/list.vue b/pages/notice/list.vue
index 898f924..458e280 100644
--- a/pages/notice/list.vue
+++ b/pages/notice/list.vue
@@ -26,9 +26,9 @@ export default {
diff --git a/pages/password/password.vue b/pages/password/password.vue
index bb2ec40..2cf22f3 100644
--- a/pages/password/password.vue
+++ b/pages/password/password.vue
@@ -52,10 +52,10 @@ export default {
diff --git a/pages/reports/list.vue b/pages/reports/list.vue
index 3e0e8ff..1c30620 100644
--- a/pages/reports/list.vue
+++ b/pages/reports/list.vue
@@ -59,11 +59,11 @@ export default {
diff --git a/pages/search/search.vue b/pages/search/search.vue
index 20d1d98..8c6a4dd 100644
--- a/pages/search/search.vue
+++ b/pages/search/search.vue
@@ -4,7 +4,7 @@
- 输入关键字搜索
+ 搜索同事、会话或待办
同事
@@ -38,7 +38,7 @@
{{ t.title || t.no }}
- 没有找到结果
+ 没有找到相关内容
@@ -96,15 +96,15 @@ export default {
diff --git a/pages/tabs/clock.vue b/pages/tabs/clock.vue
index 786c281..1d9ab98 100644
--- a/pages/tabs/clock.vue
+++ b/pages/tabs/clock.vue
@@ -102,23 +102,23 @@ export default {
diff --git a/pages/tabs/contacts.vue b/pages/tabs/contacts.vue
index dd33593..50b0d89 100644
--- a/pages/tabs/contacts.vue
+++ b/pages/tabs/contacts.vue
@@ -131,27 +131,27 @@ export default {
diff --git a/pages/tabs/me.vue b/pages/tabs/me.vue
index 679d501..1fccccf 100644
--- a/pages/tabs/me.vue
+++ b/pages/tabs/me.vue
@@ -1,6 +1,6 @@
-
+
@@ -109,26 +109,27 @@ export default {
diff --git a/pages/tabs/messages.vue b/pages/tabs/messages.vue
index 9a95285..5f03a51 100644
--- a/pages/tabs/messages.vue
+++ b/pages/tabs/messages.vue
@@ -126,26 +126,26 @@ export default {
diff --git a/pages/tabs/workbench.vue b/pages/tabs/workbench.vue
index ef58054..f8f48ac 100644
--- a/pages/tabs/workbench.vue
+++ b/pages/tabs/workbench.vue
@@ -1,41 +1,59 @@
-
+
- 搜
+ 搜索
+
+ 今天也要高效完成工作
+
+
+
+
+ {{ todoCount }}
+ 待办
+
+
+ {{ flows.length }}
+ 可发起
+
+
+ {{ apps.length }}
+ 办公应用
+
+
+
- 公告 · {{ announce }}
+ 公告
+ {{ announce }}
›
+
+ 快捷办公
+ 全部流程
+
-
- 常用业务入口
- 全部流程 ›
-
暂无可用审批流,请确认账号已开通申请权限
- {{ a.emoji }}
+ {{ mark(a.label) }}
{{ a.label }}
- {{ a.desc }}
+
+ 个人办公
+
-
- 个人办公
- 按你的权限显示
-
- {{ a.icon }}
+ {{ mark(a.title) }}
{{ todoCount }}
{{ a.title }}
@@ -43,33 +61,36 @@
+
+ 管理应用
+
-
- 管理应用
- Web 授权后才会出现
-
- {{ m.icon }}
+ {{ mark(m.title) }}
{{ m.title }}
›
-
+
- 我的待办
+ 我的待办
{{ todoCount }}
- 查看全部 ›
+ 查看全部
+
+
+ 暂无待办
+ 需要处理的审批和协同会出现在这里
- 暂无待办
- {{ (t.submitter || t.applicant || '?').slice(0, 1) }}
+ {{ t.tag || t.typeLabel || t.type || '流程审批' }}
{{ t.title || t.no }}
- {{ t.tag || t.typeLabel || t.type || '流程审批' }} · {{ t.submitter || '' }}
+ {{ t.submitter || '—' }}
{{ t.btn || '去办理' }}
+ ›
@@ -89,6 +110,12 @@ export default {
return { apps: [], erp: [], todos: [], pendingItems: [], shortcuts: [], todoCount: 0, announce: '', off: null }
},
computed: {
+ greet() {
+ const name = (store.me && store.me.name) || ''
+ const h = new Date().getHours()
+ const hi = h < 12 ? '上午好' : h < 18 ? '下午好' : '晚上好'
+ return name ? hi + ',' + name : '工作台'
+ },
flows() {
const fromApi = (this.shortcuts || []).map((s, i) => ({
key: 'sc-' + (s.to || s.label || i),
@@ -160,6 +187,7 @@ export default {
else toast('没有发起申请权限')
},
goTodo() { uni.navigateTo({ url: '/pages/todo/list' }) },
+ mark(s) { return String(s || '应').replace(/\s/g, '').slice(0, 1) },
pendKey(t) { return t.no || t.id || t.to || t.title },
openPending(t) {
if (t.source === 'work' || t.taskId) {
@@ -180,37 +208,58 @@ export default {
diff --git a/pages/todo/detail.vue b/pages/todo/detail.vue
index 7cd58af..71fca27 100644
--- a/pages/todo/detail.vue
+++ b/pages/todo/detail.vue
@@ -33,11 +33,15 @@
- 流转轨迹
+ 审批流程
- {{ log.who || log.actor || log.userName }} · {{ log.action }}
- {{ log.comment }}
- {{ log.label || log.time || log.at || '' }}
+
+
+ {{ log.who || log.actor || log.userName }}
+ {{ log.action }}
+ {{ log.comment }}
+ {{ log.label || log.time || log.at || '' }}
+
@@ -149,26 +153,41 @@ export default {
diff --git a/pages/todo/list.vue b/pages/todo/list.vue
index 86bc46d..e3c5ad2 100644
--- a/pages/todo/list.vue
+++ b/pages/todo/list.vue
@@ -3,17 +3,24 @@
当前账号没有审批或申请权限
-
+
{{ t.title }}
+
+
+
+
+
+ 暂无事项
+ 当前分类下没有需要处理的记录
- 加载中…
- 暂无记录
-
+
+ {{ r.typeLabel || r.type || '审批' }}
{{ r.title || r.no }}
- {{ r.typeLabel || r.type }} · {{ r.submitter || r.assigneeName || '' }}
+ {{ r.submitter || r.assigneeName || '' }}
{{ r.status || '待处理' }}
+ ›
@@ -83,11 +90,18 @@ export default {
diff --git a/uni.scss b/uni.scss
index 8a72b78..b3c1dad 100644
--- a/uni.scss
+++ b/uni.scss
@@ -1,6 +1,6 @@
-$fy-brand: #2563eb;
-$fy-brand-deep: #004ac6;
-$fy-surface: #faf8ff;
-$fy-ink: #131b2e;
-$fy-muted: #737686;
-$fy-line: #eaedff;
+$fy-brand: #1677FF;
+$fy-brand-deep: #0958D9;
+$fy-surface: #F5F7FA;
+$fy-ink: #111827;
+$fy-muted: #6B7280;
+$fy-line: #E8ECF2;