Explorar o código

记账报税页面;记账报税详情页面;上传票据页面;

sinea17 %!s(int64=2) %!d(string=hai) anos
pai
achega
e6de62061f

+ 22 - 3
pages.json

@@ -222,11 +222,30 @@
 			}
 		},
 		{
-			"path" : "pages/self/login",
+			"path": "pages/self/login",
+			"style": {
+				"navigationBarTitleText": "登录",
+				"backgroundColor": "#fff"
+			}
+		},
+		{
+			"path": "pages/appCenter/accounting/index",
+			"style": {
+				"navigationBarTitleText": "记账报税"
+			}
+		},
+		{
+			"path" : "pages/appCenter/accounting/detail",
 			"style" : 
 			{
-				"navigationBarTitleText" : "登录",
-				"backgroundColor": "#fff"
+				"navigationBarTitleText" : "记账报税详情"
+			}
+		},
+		{
+			"path" : "pages/appCenter/accounting/ticket",
+			"style" : 
+			{
+				"navigationBarTitleText" : "上传票据"
 			}
 		}
 	],

+ 143 - 0
pages/appCenter/accounting/detail.vue

@@ -0,0 +1,143 @@
+<template>
+	<view class="page-wrap">
+		<view class="header-panel">
+			<view class="item">
+				2807520.35
+				<text class="label">累计利润\n截至2023-10</text>
+			</view>
+			<view class="item">
+				2563905.29
+				<text class="label">可用免征增值税\n发票额</text>
+			</view>
+		</view>
+		<view class="nav-panel">
+			<view class="item" v-for="(item, index) in navList" :key="index" @click="handleNav(item.value)">
+				<view :class="'icon icon-' + item.value">
+					<image :src="`../../../static/svg/accounting_nav_${item.value}.svg`" mode="aspectFit"></image>
+				</view>
+				<text class="text">{{ item.label }}</text>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			navList: [
+				{
+					label: '本月到票',
+					value: 1
+				},
+				{
+					label: '凭证列表',
+					value: 2
+				},
+				{
+					label: '科目余额',
+					value: 3
+				},
+				{
+					label: '工资表',
+					value: 4
+				},
+				{
+					label: '人员与社保',
+					value: 5
+				},
+				{
+					label: '研发费用\n辅助账',
+					value: 6
+				},
+				{
+					label: '资产负债',
+					value: 7
+				},
+				{
+					label: '利润表',
+					value: 8
+				},
+				{
+					label: '电子账簿',
+					value: 9
+				}
+			]
+		};
+	},
+	methods: {
+		handleNav(val) {
+			let url = '';
+			switch (val) {
+				case 1:
+					url = 'ticket';
+					break;
+			}
+			uni.navigateTo({
+				url
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.header-panel {
+	height: 302.2rpx;
+	display: flex;
+	align-items: center;
+	background: linear-gradient(90deg, rgba(85, 141, 255, 1) 0%, rgba(85, 141, 255, 1) 0%, rgba(99, 95, 235, 1) 100%, rgba(99, 95, 235, 1) 100%);
+	.item {
+		flex: 1;
+		font-size: 43.96rpx;
+		color: #fff;
+		text-align: center;
+	}
+	.label {
+		display: block;
+		font-size: 24.73rpx;
+		margin: 13.74rpx 0 13.74rpx;
+		line-height: 38.46rpx;
+	}
+}
+.nav-panel {
+	display: flex;
+	flex-wrap: wrap;
+	padding: 0 13.74rpx;
+	.item {
+		flex: 0 0 25%;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		margin-top: 27.47rpx;
+	}
+	.icon {
+		width: 123.63rpx;
+		height: 123.63rpx;
+		border-radius: 50%;
+		background: #ddd;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		image {
+			width: 54.95rpx;
+			height: 54.95rpx;
+		}
+		&-1 image{
+			height: 46.7rpx;
+		}
+		&-7 image{
+			width: 61.81rpx;
+		}
+		&-8 image{
+			width: 61.81rpx;
+		}
+		
+	}
+	.text {
+		font-size: 24.73rpx;
+		text-align: center;
+		margin-top: 13.74rpx;
+	}
+}
+</style>

+ 60 - 0
pages/appCenter/accounting/index.vue

@@ -0,0 +1,60 @@
+<template>
+	<view class="page-wrap">
+		<view class="nav-row" @click="handleOpenDetail">
+			<view class="label">2023-10</view>
+			<view class="state warn">未到票</view>
+			<image class="arrow" src="../../../static/svg/arrow.svg"></image>
+		</view>
+		<view class="nav-row">
+			<view class="label">2023-10</view>
+			<view class="state">处理中</view>
+			<image class="arrow" src="../../../static/svg/arrow.svg"></image>
+		</view>
+		<view class="nav-row">
+			<view class="label">2023-10</view>
+			<view class="state">已完成</view>
+			<image class="arrow" src="../../../static/svg/arrow.svg"></image>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {};
+	},
+	methods: {
+		handleOpenDetail() {
+			uni.navigateTo({
+				url: 'detail'
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.nav-row {
+	display: flex;
+	align-items: center;
+	height: 96.15rpx;
+	padding: 0 41.21rpx;
+	font-size: 27.47rpx;
+	background: #fff;
+	border-top: 1rpx solid #e0e0e0;
+	&:first-child {
+		border: none;
+	}
+	.label {
+		flex: 1;
+	}
+	.warn {
+		color: #f97631;
+	}
+	.arrow {
+		width: 34.34rpx;
+		height: 34.34rpx;
+		margin: 0 -13.74rpx 0 13.74rpx;
+	}
+}
+</style>

+ 85 - 0
pages/appCenter/accounting/ticket.vue

@@ -0,0 +1,85 @@
+<template>
+	<view class="page-wrap">
+		<view class="nav-row" v-for="(item, index) in typeList" :key="index">
+			<view class="label">{{ item.label }}</view>
+			<view class="state">{{ item.value }}</view>
+			<image class="arrow" src="../../../static/svg/arrow.svg"></image>
+		</view>
+		<button class="submit-btn">本月到票截止确认</button>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			typeList: [
+				{
+					label: '开出的收入发票',
+					value: 2
+				},
+				{
+					label: '收到的进项发票',
+					value: 6
+				},
+				{
+					label: '成本费用发票',
+					value: 3
+				},
+				{
+					label: '银行对账单/回单',
+					value: 1
+				},
+				{
+					label: '工资表',
+					value: 1
+				}
+			]
+		};
+	},
+	methods: {}
+};
+</script>
+
+<style lang="scss" scoped>
+.page-wrap {
+	padding-bottom: 130.49rpx;
+}
+.nav-row {
+	display: flex;
+	align-items: center;
+	height: 96.15rpx;
+	padding: 0 41.21rpx;
+	font-size: 27.47rpx;
+	background: #fff;
+	border-top: 1rpx solid #e0e0e0;
+	&:first-child {
+		border: none;
+	}
+	.label {
+		flex: 1;
+	}
+	.warn {
+		color: #f97631;
+	}
+	.arrow {
+		width: 34.34rpx;
+		height: 34.34rpx;
+		margin: 0 -13.74rpx 0 6.87rpx;
+	}
+}
+.submit-btn {
+	position: fixed;
+	left: 50%;
+	bottom: 27.47rpx;
+	transform: translateX(-50%);
+	width: 549.45rpx;
+	height: 75.55rpx;
+	line-height: 75.55rpx;
+	background: #079eff;
+	border-radius: 8.24rpx;
+	font-size: 30.22rpx;
+	color: #fff;
+	margin: 82.42rpx auto 0;
+}
+</style>

+ 43 - 18
pages/appCenter/index.vue

@@ -1,10 +1,10 @@
 <template>
 	<view class="page-wrap">
-		<view class="app-item" v-for="(item, index) in navList" :key="index">
-			<view :class="'icon icon-'+item.value">
+		<view class="app-item" v-for="(item, index) in navList" :key="index" @click="handleNav(item.value)">
+			<view :class="'icon icon-' + item.value">
 				<image :src="`../../static/svg/app_${item.value}.svg`"></image>
 			</view>
-			<view class="text">{{item.label}}</view>
+			<view class="text">{{ item.label }}</view>
 		</view>
 	</view>
 </template>
@@ -57,6 +57,19 @@ export default {
 				}
 			]
 		};
+	},
+	methods: {
+		handleNav(val) {
+			let url = '';
+			switch (val) {
+				case 1:
+					url = 'accounting/index';
+					break;
+			}
+			uni.navigateTo({
+				url
+			});
+		}
 	}
 };
 </script>
@@ -86,41 +99,53 @@ export default {
 		display: flex;
 		align-items: center;
 		justify-content: center;
-		&-1{
+		image {
+			width: 68.68rpx;
+			height: 68.68rpx;
+		}
+		&-1 {
 			background: #ff7356;
 		}
-		&-2{
+		&-2 {
 			background: #06d276;
 		}
-		&-3{
+		&-3 {
 			background: #52abfd;
 		}
-		&-4{
+		&-4 {
 			background: #fcb203;
+			image {
+				width: 89.29rpx;
+				height: 89.29rpx;
+			}
 		}
-		&-5{
+		&-5 {
 			background: #566c8b;
 		}
-		&-6{
+		&-6 {
 			background: #4484ae;
 		}
-		&-7{
+		&-7 {
 			background: #889fff;
+			image {
+				width: 82.42rpx;
+				height: 82.42rpx;
+				margin-left: 27.47rpx;
+			}
 		}
-		&-8{
+		&-8 {
 			background: #f7922a;
 		}
-		&-9{
+		&-9 {
 			background: #1ed2c7;
+			image {
+				width: 82.42rpx;
+				height: 82.42rpx;
+			}
 		}
-		&-10{
+		&-10 {
 			background: #fcb203;
 		}
-		image {
-			width: 68.68rpx;
-			height: 68.68rpx;
-			color: #fff;
-		}
 	}
 	.text {
 		font-size: 24.73rpx;

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 6 - 0
static/svg/accounting_nav_1.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_2.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_3.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_4.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_5.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_6.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_7.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_8.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
static/svg/accounting_nav_9.svg


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
static/svg/app_4.svg