1.导税平板app tax-guidance静态界面搭建

main
cysamurai 3 months ago
parent 6af6550179
commit 69ae3af441

@ -0,0 +1,3 @@
unpackage
uni_modules
*.log*

@ -0,0 +1,53 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
// #ifdef APP-PLUS
plus.navigator.setFullscreen(true); //
// #endif
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style lang="scss">
@import '@/uni_modules/tuniaoui-vue3/index.css';
/*每个页面公共css */
.page-container {
// background: linear-gradient(to bottom, #000066, #0099ff);
height: 100vh;
width: 100vw;
}
* {
margin: 0;
padding: 0;
list-style-type: none;
box-sizing: border-box;
outline: none;
}
html {
font-size: 16px !important;
margin: 0;
padding: 0;
}
body {
font-family: Arial, Helvetica, sans-serif;
background-color: #f1f1f1;
margin: 0;
padding: 0;
}
a {
color: #343440;
text-decoration: none;
}
</style>

@ -0,0 +1,53 @@
<template>
<div class="login-head">
<div class="head-title">
<image class="head-icon" src="/static/head-icon.png" />
<span>国家税务总局绍兴市越城税务局办税服务厅</span>
</div>
<div class="head-time">
<span>2025-08-11 星期一 10:25:25</span>
</div>
</div>
</template>
<script>
</script>
<style lang="scss">
.login-head {
display: flex;
justify-content: space-between;
padding-top: $statusbar-height;
.head-title {
display: flex;
align-items: center;
height: 6vh;
.head-icon {
width: 40px;
height: 40px;
margin-left: 1vw;
}
span {
color: #fff;
font-size: 3vh;
font-weight: 800;
margin-left: 1vw;
}
}
.head-time {
display: flex;
align-items: center;
height: 6vh;
span {
color: #fff;
font-size: 2vh;
margin-right: 1vw;
}
}
}
</style>

@ -0,0 +1 @@
u<EFBFBD><EFBFBD><EFBFBD>9<EFBFBD>&<26>;<3B>O'n<>

@ -0,0 +1,50 @@
-----BEGIN CERTIFICATE-----
MIICGjCCAaGgAwIBAgIIShhpn519jNAwCgYIKoZIzj0EAwMwUzELMAkGA1UEBhMC
Q04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEeMBwGA1UE
AwwVSHVhd2VpIENCRyBSb290IENBIEcyMB4XDTIwMDMxNjAzMDQzOVoXDTQ5MDMx
NjAzMDQzOVowUzELMAkGA1UEBhMCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UE
CwwKSHVhd2VpIENCRzEeMBwGA1UEAwwVSHVhd2VpIENCRyBSb290IENBIEcyMHYw
EAYHKoZIzj0CAQYFK4EEACIDYgAEWidkGnDSOw3/HE2y2GHl+fpWBIa5S+IlnNrs
GUvwC1I2QWvtqCHWmwFlFK95zKXiM8s9yV3VVXh7ivN8ZJO3SC5N1TCrvB2lpHMB
wcz4DA0kgHCMm/wDec6kOHx1xvCRo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
AQH/BAUwAwEB/zAdBgNVHQ4EFgQUo45a9Vq8cYwqaiVyfkiS4pLcIAAwCgYIKoZI
zj0EAwMDZwAwZAIwMypeB7P0IbY7c6gpWcClhRznOJFj8uavrNu2PIoz9KIqr3jn
BlBHJs0myI7ntYpEAjBbm8eDMZY5zq5iMZUC6H7UzYSix4Uy1YlsLVV738PtKP9h
FTjgDHctXJlC5L7+ZDY=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDATCCAoigAwIBAgIIXmuDXbWpOB8wCgYIKoZIzj0EAwMwUzELMAkGA1UEBhMC
Q04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEeMBwGA1UE
AwwVSHVhd2VpIENCRyBSb290IENBIEcyMB4XDTIwMDcwOTAyMDQyNFoXDTMwMDcw
NzAyMDQyNFowYjELMAkGA1UEBgwCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UE
CwwKSHVhd2VpIENCRzEtMCsGA1UEAwwkSHVhd2VpIENCRyBEZXZlbG9wZXIgUmVs
YXRpb25zIENBIEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE65LdoIZh1hlpZ2gP
bJ6gPhHsvYSRe22KETgdqeVeYnrbRHI9wsPT6RGYS+pU4mPl6wxzgDMqN6SY/BoZ
luhkE1PzaHoPoNIWIq0O33hpyKyyYwAacIUEjYurkw1E9r9no4IBGDCCARQwHwYD
VR0jBBgwFoAUo45a9Vq8cYwqaiVyfkiS4pLcIAAwHQYDVR0OBBYEFNtek7Ij6NDk
/nF6Zumkc0dbf/NeMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEGCCsGAQUFBwIBFiVo
dHRwOi8vY3BraS1jYXdlYi5odWF3ZWkuY29tL2Nwa2kvY3BzMBIGA1UdEwEB/wQI
MAYBAf8CAQAwDgYDVR0PAQH/BAQDAgEGMGYGA1UdHwRfMF0wW6BZoFeGVWh0dHA6
Ly9jcGtpLWNhd2ViLmh1YXdlaS5jb20vY3BraS9zZXJ2bGV0L2NybEZpbGVEb3du
LmNybD9jZXJ0eXBlPTEwJi9yb290X2cyX2NybC5jcmwwCgYIKoZIzj0EAwMDZwAw
ZAIwWO1X5q2MdfpR1Q237GpUHGbL1C13rGyFg2p3AYo44FpZ2/A9ss0wOHKM4KDl
ZPqdAjBLkf8NPZy7KVog98+iCTLq35DJ2ZVxkCxknA9YhiHVyXf4HPm4JlT7rW7o
Q+FzM3c=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICwTCCAkegAwIBAgIOY9gjdDaxS1xO6VZ0psAwCgYIKoZIzj0EAwMwYjELMAkG
A1UEBgwCQ04xDzANBgNVBAoMBkh1YXdlaTETMBEGA1UECwwKSHVhd2VpIENCRzEt
MCsGA1UEAwwkSHVhd2VpIENCRyBEZXZlbG9wZXIgUmVsYXRpb25zIENBIEcyMB4X
DTI1MDgyODA2MzMzNloXDTI1MDkxMTA2MzMzNlowcTELMAkGA1UEBhMCQ04xEDAO
BgNVBAoMB3Vua25vd24xHDAaBgNVBAsMEzE3NjIzNjk1MDMyMjk5MzU0ODkxMjAw
BgNVBAMMKXVua25vd24oMTc2MjM2OTUwMzIyOTkzNTQ4OSlcLERldmVsb3BtZW50
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh3qjdFfw5h+5PNGE2ERhOm6XQjY5
wNzeroxly6fWdT8QbPhNRgHG55mxB6sRId/1KsqJw81luM16K+o1MROfgKOB0TCB
zjAdBgNVHQ4EFgQU1+JKCTgMOqiNyX+wiBJkyUfuzZ4wDAYDVR0TAQH/BAIwADAf
BgNVHSMEGDAWgBTbXpOyI+jQ5P5xembppHNHW3/zXjBZBgNVHR8EUjBQME6gTKBK
hkhodHRwOi8vaDVob3N0aW5nLWRyY24uZGJhbmtjZG4uY24vY2NoNS9jcmwvaGRy
Y2FnMi9IdWF3ZWlDQkdIRFJHMmNybC5jcmwwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud
JQQMMAoGCCsGAQUFBwMDMAoGCCqGSM49BAMDA2gAMGUCMQCLCq+G0+2XPfVIy6JK
yFbRPvGIi04HVOQ2/3wRRVJGJNxGHn6p9pAEYsdIH6/IksYCMEod/X4jzgXEvZ1v
m/hCqxGLF6umQ9bCRWeZTJaWZ2GLNW20ylZ5Ck5RJjrNHejnVg==
-----END CERTIFICATE-----

@ -0,0 +1,9 @@
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBNzCB3wIBADBNMQkwBwYDVQQGEwAxCTAHBgNVBAgTADEJMAcGA1UEBxMAMQkw
BwYDVQQKEwAxCTAHBgNVBAsTADEUMBIGA1UEAwwLeml5dW5fZGVidWcwWTATBgcq
hkjOPQIBBggqhkjOPQMBBwNCAASHeqN0V/DmH7k80YTYRGE6bpdCNjnA3N6ujGXL
p9Z1PxBs+E1GAcbnmbEHqxEh3/UqyonDzWW4zXor6jUxE5+AoDAwLgYJKoZIhvcN
AQkOMSEwHzAdBgNVHQ4EFgQU1+JKCTgMOqiNyX+wiBJkyUfuzZ4wCgYIKoZIzj0E
AwIDRwAwRAIgUHw85yWsSeybwHVAb0NH5B3Kknkw+Ds1UCZBGVvAH+cCIFk2ouND
fq33TSwBew6tV46aEOzeCj3NdiDQslddzr4a
-----END NEW CERTIFICATE REQUEST-----

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
CSS.supports('top: constant(a)'))
document.write(
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<title></title>
<!--preload-links-->
<!--app-context-->
</head>
<body>
<div id="app"><!--app-html--></div>
<script type="module" src="/main.js"></script>
</body>
</html>

@ -0,0 +1,22 @@
import App from './App'
// #ifndef VUE3
import Vue from 'vue'
import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
return {
app
}
}
// #endif

@ -0,0 +1,88 @@
{
"name": "tax-guidance",
"appid": "__UNI__A083CF1",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
/* 5+App */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
/* */
"modules": {},
/* */
"distribute": {
/* android */
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios": {},
/* SDK */
"sdkConfigs": {}
}
},
/* */
"quickapp": {},
/* */
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false
},
"usingComponents": true
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false
},
"vueVersion": "3",
"app-harmony": {
"distribute": {
"bundleName": "com.ziyun.taxguidance",
"signingConfigs": {
"default": {
"certpath": "ziyun_debug.cer",
"keyAlias": "ziyun_debug",
"keyPassword": "0000001C0A434C6EAD0E542DD56B04458C2B66CC2F31DBD5DAE971DCDC08E1E50F36DF37A9288699FBE4B97B",
"profile": "紫云智能导税调试Debug.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "ziyun_debug.p12",
"storePassword": "0000001C7E1A6AAD38035864C0D38355D93B30E5998D5D1674A5F09736672B97B02B5F8FE2566518D6E02BA6"
}
}
}
}
}

@ -0,0 +1,26 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/login/login"
},
{
"path": "pages/index/index"
},
{
"path": "pages/table/table"
}
],
"globalStyle": {
"navigationStyle": "custom",
"backgroundColor": "#F8F8F8"
},
"easycom": {
"custom": {
"^tn-(.*)-(item|group)$": "@/uni_modules/tuniaoui-vue3/components/$1/src/$1-$2.vue",
"^tn-(.*)": "@/uni_modules/tuniaoui-vue3/components/$1/src/$1.vue"
// |icons |shadow-root
// "^uni-((?!(shadow-root|icons)).*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"
}
},
"uniIdRouter": {}
}

@ -0,0 +1,247 @@
<template>
<view class="page-container tn-gradient-bg__cool-5">
<cheader></cheader>
<div class="index-body">
<div class="body-title">
<span class="title-mian">紫云纳税服务综合管理系统</span>
<span class="title-child">智能导税</span>
</div>
<div class="body-content">
<div class="emp-content">
<image src="/static/header_no.png" class="emp-image"></image>
<p class="emp-name emp-p">{{'欧阳永叔'}}</p>
<p class="emp-id emp-p">工号:{{'123456789'}}</p>
<tn-button width="180px" height="50px" @click="loginOutAction">退 </tn-button>
</div>
<div style="width: 2vw;"></div>
<div class="btn-content">
<div class="btn-row1">
<div class="row1-item1 col-center" @click="goToTable">
<uni-icons type="staff-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">今日进厅</p>
</div>
<div class="row1-item2 col-center">
<uni-icons type="notification-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">今日预约</p>
</div>
<div class="row1-item3 col-center">
<uni-icons type="list" size="60" color="#fff"></uni-icons>
<p class="btn-p">票号管理</p>
</div>
</div>
<div style="height: 2vh;"></div>
<div class="btn-row2">
<div class="row2-item1">
<div class="row2-item1-top row-center">
<uni-icons type="email-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">信息推送</p>
</div>
<div style="height: 2vh;"></div>
<div class="row2-item1-bottom row-center">
<uni-icons type="download-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">台账登记</p>
</div>
</div>
<div class="row2-item2">
<div class="row2-item2-left col-center">
<uni-icons type="checkbox-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">注册码验证</p>
</div>
<div style="width: 2vh;"></div>
<div class="row2-item2-center col-center">
<uni-icons type="auth-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">网格员</p>
</div>
<div style="width: 2vh;"></div>
<div class="row2-item2-right col-center">
<uni-icons type="home-filled" size="60" color="#fff"></uni-icons>
<p class="btn-p">一户式</p>
</div>
</div>
</div>
</div>
</div>
</div>
</view>
</template>
<script setup>
import cheader from '@/components/header.vue'
let goToTable = ()=>{
uni.navigateTo({
url:'/pages/table/table'
})
}
let loginOutAction = ()=>{
uni.navigateTo({
url:'/pages/login/login'
})
}
</script>
<style lang="scss">
.index-body {
height: 90vh;
width: 100vw;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.body-title {
height: 6vh;
margin-bottom: 2vh;
.title-mian {
background: linear-gradient(to bottom, #DEDEDE 10%, #fff 90%);
/* 2. 将背景裁剪成文字形状 (需要-webkit-前缀) */
-webkit-background-clip: text;
background-clip: text;
/* 3. 将文字颜色设为透明,显示出渐变背景 */
color: transparent;
/* 为了效果明显,可以设置一些字体样式 */
font-size: 36px;
}
.title-child {
background: linear-gradient(to bottom, #483D8B 10%, #8A2BE2 90%);
/* 2. 将背景裁剪成文字形状 (需要-webkit-前缀) */
-webkit-background-clip: text;
background-clip: text;
/* 3. 将文字颜色设为透明,显示出渐变背景 */
color: transparent;
/* 为了效果明显,可以设置一些字体样式 */
font-size: 36px;
}
}
.body-content {
display: flex;
flex-direction: row;
.emp-content {
height: 60vh;
width: 20vw;
background-color: #ffffff50;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 30px;
.emp-image{
height: 30vh;
padding: 4px;
border: 1px solid #ddd;
}
.emp-p{
color: #fff;
font-size: 20px;
font-weight: 800;
}
.emp-name{
margin-top: 20px;
margin-bottom: 5px;
}
.emp-id{
margin-bottom: 20px;
}
}
.btn-content {
.btn-row1 {
height: 22vh;
width: 60vw;
display: grid;
grid-template-columns: repeat(3, 1fr);
.row1-item1 {
background-color: #990066;
margin-right: 2vh;
}
.row1-item2 {
background-color: #993366;
margin-right: 2vh;
}
.row1-item3 {
background-color: #996666;
}
}
.btn-row2 {
height: 36vh;
width: 60vw;
display: grid;
grid-template-columns: repeat(3, 1fr);
.row2-item1 {
margin-right: 2vh;
display: flex;
flex-direction: column;
.row2-item1-top{
flex: 1;
background-color: #33cc66;
}
.row2-item1-bottom{
flex: 1;
background-color: #cc9966;
}
}
.row2-item2 {
grid-column: span 2;
display: flex;
flex-direction: row;
.row2-item2-left{
flex: 1;
background-color: #99ffcc;
}
.row2-item2-center{
flex: 1;
background-color: #cccccc;
}
.row2-item2-right{
flex: 1;
background-color: #cc99cc;
}
}
}
}
}
}
.col-center{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.row-center{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.btn-p{
font-size: 22px;
font-weight: 800;
color: #fff;
margin: 8px;
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
</style>

@ -0,0 +1,74 @@
<template>
<div class="page-container tn-gradient-bg__cool-5">
<cheader></cheader>
<div class="login-body">
<div class="login-form tn-grey_shadow">
<p>账号登录</p>
<tn-input v-model="username" placeholder="请输入用户名">
<template #prefix>
<uni-icons type="contact" size="18" color="#ccc"></uni-icons>
</template>
</tn-input>
<div class="divider"></div>
<tn-input v-model="password" type="password" placeholder="请输入密码">
<template #prefix>
<uni-icons type="locked-filled" size="18" color="#ccc"></uni-icons>
</template>
</tn-input>
<div class="divider"></div>
<tn-button width="250px" height="36px" @click="loginAction"> </tn-button>
</div>
</div>
</div>
</template>
<script lang="ts" setup>
import cheader from '@/components/header.vue'
import { ref } from 'vue'
let username = ref('')
let password = ref('')
let loginAction = ()=>{
uni.navigateTo({
url:'/pages/index/index'
})
}
</script>
<style lang="scss">
.login-body {
display: flex;
align-items: center;
justify-content: center;
height: 90vh;
.login-form {
height: 40vh;
width: 30vw;
padding: 15px 40px;
background-color: #fff;
border-radius: 5px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
p {
font-size: 28px;
font-weight: 600;
margin-bottom: 20px;
background: linear-gradient(to right, #1874CD 70%, #0099ff );
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
.divider{
height: 20px;
}
}
}
</style>

@ -0,0 +1,181 @@
<template>
<div class="page-container bg-white">
<div class="top-div">
<tn-tabs v-model="currentTabIndex" :bottom-shadow="false" :bar="false">
<TnTabsItem v-for="(item, index) in tabsData" :key="index" :title="item.text" />
</tn-tabs>
<tn-button width="80px" height="32px" :plain="true" text-color="#0099ff" @click="backToIndex">
<uni-icons type="arrow-left" size="18" color="#0099ff" style="margin-right: 5px;"></uni-icons>
</tn-button>
</div>
<div class="tools-div">
<div style="width: 300px;">
<tn-input placeholder="请输入关键词搜索" height="32px">
<template #prefix>
<uni-icons type="search" size="18" color="#ccc"></uni-icons>
</template>
</tn-input>
</div>
<div class="tools-btn">
<tn-button width="80px" height="32px" :plain="true" text-color="#0099ff" @click="shareToggle">
筛选<uni-icons type="down" size="12" color="#0099ff" style="margin-left: 5px;"></uni-icons>
</tn-button>
<div style="width: 2vw;"></div>
<tn-button width="80px" height="32px" text-color="#fff" @click="backToIndex">
<uni-icons type="search" size="18" color="#fff" style="margin-right: 5px;"></uni-icons>
</tn-button>
</div>
</div>
<div>
<uni-table ref="table" :loading="loading" border stripe emptyText="暂无更多数据">
<uni-tr>
<uni-th width="150" align="center">时间</uni-th>
<uni-th width="100" align="center">票号</uni-th>
<uni-th width="100" align="center">姓名</uni-th>
<uni-th width="220" align="center">身份证</uni-th>
<uni-th width="180" align="center">业务类型</uni-th>
<uni-th width="180" align="center">办理状态</uni-th>
</uni-tr>
<uni-tr v-for="(item, index) in tableData" :key="index">
<uni-td>{{ item.date }}</uni-td>
<uni-td>
<view class="name">{{ item.name }}</view>
</uni-td>
<uni-td align="center">{{ item.address }}</uni-td>
<uni-td>
<view class="uni-group">
<button class="uni-button" size="mini" type="primary">修改</button>
<button class="uni-button" size="mini" type="warn">删除</button>
</view>
</uni-td>
</uni-tr>
</uni-table>
<div class="pagination-div">
<p><span class="page-span">{{ total }}</span>条数据每页显示<span class="page-span">{{ pageSize }}</span></p>
<view class="uni-pagination-box"><uni-pagination show-icon :page-size="pageSize" :current="pageCurrent"
:total="total" @change="change" /></view>
</div>
</div>
<uni-popup ref="share" type="share" safeArea backgroundColor="#fff">
<div class="popup-div">
<div class="fiter-items"></div>
<div class="filter-btn">
<tn-button width="80px" height="32px" :plain="true" text-color="#999" border-color="#999" @click="shareToggle">
重置
</tn-button>
<div style="width: 2vw;"></div>
<tn-button width="80px" height="32px" text-color="#fff" @click="backToIndex">
确定
</tn-button>
</div>
</div>
</uni-popup>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import TnTabs from '@/uni_modules/tuniaoui-vue3/components/tabs/src/tabs.vue'
import TnTabsItem from '@/uni_modules/tuniaoui-vue3/components/tabs/src/tabs-item.vue'
/*tabs变量*/
let currentTabIndex = ref(0)
let tabsData = [
{
text: '全部',
},
{
text: '待办理',
},
{
text: '办理中',
},
{
text: '已办理',
}
]
/*表格变量*/
let searchVal = ref('')
let tableData = []
//
let pageSize = ref(10)
//
let pageCurrent = ref(1)
//
let total = ref(0)
let loading = ref(false)
const share = ref(null)
//
const change = (e) => {
// $refs.table.clearSelection()
getData(e.current)
}
const getData = (pageCurrent, value = '') => {
}
const shareToggle = () => {
console.log(share.value?.$el || share.value)
share.value?.open()
}
const backToIndex = () => {
uni.navigateTo({
url: '/pages/index/index'
})
}
</script>
<style lang="scss">
.bg-white {
background-color: #fff;
}
.top-div {
display: flex;
justify-content: space-between;
padding: 6vh 20px 1vh 20px;
}
.tools-div {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 20px;
.tools-btn {
display: flex;
}
}
.pagination-div {
display: flex;
justify-content: space-between;
padding: 10px 20px;
.page-span {
display: inline;
color: #0099ff;
margin: 0 4px;
}
}
.uni-group {
display: flex;
align-items: center;
}
.popup-div{
.filter-btn{
height: 6vh;
padding: 10px 0;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,13 @@
uni.addInterceptor({
returnValue (res) {
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
return res;
}
return new Promise((resolve, reject) => {
res.then((res) => {
if (!res) return resolve(res)
return res[0] ? reject(res[0]) : resolve(res[1])
});
});
},
});

@ -0,0 +1,80 @@
/**
* uni-app
*
* uni-app https://ext.dcloud.net.cn使
* 使scss使 import 便App
*
*/
/**
* App使
*
* 使scss scss 使 import
*/
/* 颜色变量 */
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
/* 文字基本颜色 */
$uni-text-color:#333;//
$uni-text-color-inverse:#fff;//
$uni-text-color-grey:#999;//
$uni-text-color-placeholder: #808080;
$uni-text-color-disable:#c0c0c0;
/* 背景颜色 */
$uni-bg-color:#ffffff;
$uni-bg-color-grey:#f8f8f8;
$uni-bg-color-hover:#f1f1f1;//
$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//
/* 边框颜色 */
$uni-border-color:#c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm:12px;
$uni-font-size-base:14px;
$uni-font-size-lg:16px;
/* 图片尺寸 */
$uni-img-size-sm:20px;
$uni-img-size-base:26px;
$uni-img-size-lg:40px;
/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; //
/* 文章场景相关 */
$uni-color-title: #2C405A; //
$uni-font-size-title:20px;
$uni-color-subtitle: #555555; //
$uni-font-size-subtitle:26px;
$uni-color-paragraph: #3F536E; //
$uni-font-size-paragraph:15px;
/* 电池栏高度 */
$statusbar-height: 4vh;
Loading…
Cancel
Save