Browse Source

新增登录 主页 录入订单页面

master
Lj 1 week ago
parent
commit
718971ef8b
474 changed files with 47822 additions and 0 deletions
  1. +9
    -0
      111/.hbuilderx/launch.json
  2. +0
    -0
      111/11.txt
  3. +49
    -0
      111/App.uvue
  4. +3
    -0
      111/README.md
  5. +20
    -0
      111/index.html
  6. +9
    -0
      111/main.uts
  7. +43
    -0
      111/manifest.json
  8. +85
    -0
      111/pages.json
  9. +354
    -0
      111/pages/home/home.uvue
  10. +105
    -0
      111/pages/index/index.uvue
  11. +88
    -0
      111/pages/index/index_1.uvue
  12. +271
    -0
      111/pages/index/login.uvue
  13. +123
    -0
      111/pages/index/wode.uvue
  14. +267
    -0
      111/pages/views/dingDanCreate.uvue
  15. +22
    -0
      111/pages/views/payment.uvue
  16. BIN
      111/static/gonggao.png
  17. +63
    -0
      111/static/iconfont.css
  18. BIN
      111/static/iconfont.ttf
  19. BIN
      111/static/image/图像 4.png
  20. BIN
      111/static/image/图像 4@2x.png
  21. BIN
      111/static/image/图像 4@3x.png
  22. BIN
      111/static/image/图层_6.png
  23. BIN
      111/static/image/图层_6@2x.png
  24. BIN
      111/static/image/图层_6@3x.png
  25. BIN
      111/static/image/矩形 4533.png
  26. BIN
      111/static/image/矩形 4533@2x.png
  27. BIN
      111/static/image/矩形 4533@3x.png
  28. BIN
      111/static/image/矩形 5315.png
  29. BIN
      111/static/image/矩形 5315@2x.png
  30. BIN
      111/static/image/矩形 5315@3x.png
  31. BIN
      111/static/image/组 70865.png
  32. BIN
      111/static/image/组 70865@2x.png
  33. BIN
      111/static/image/组 70865@3x.png
  34. BIN
      111/static/image/组 71663.png
  35. BIN
      111/static/image/组 71663@2x.png
  36. BIN
      111/static/image/组 71663@3x.png
  37. BIN
      111/static/image/组 71666.png
  38. BIN
      111/static/image/组 71666@2x.png
  39. BIN
      111/static/image/组 71666@3x.png
  40. BIN
      111/static/image/组 71693.png
  41. BIN
      111/static/image/组 71693@2x.png
  42. BIN
      111/static/image/组 71693@3x.png
  43. BIN
      111/static/image/组 71696.png
  44. BIN
      111/static/image/组 71696@2x.png
  45. BIN
      111/static/image/组 71696@3x.png
  46. BIN
      111/static/image/组 71697.png
  47. BIN
      111/static/image/组 71697@2x.png
  48. BIN
      111/static/image/组 71697@3x.png
  49. BIN
      111/static/image/组 71699.png
  50. BIN
      111/static/image/组 71699@2x.png
  51. BIN
      111/static/image/组 71699@3x.png
  52. BIN
      111/static/image/组 71699_1.png
  53. BIN
      111/static/image/组 71699_1@2x.png
  54. BIN
      111/static/image/组 71699_1@3x.png
  55. BIN
      111/static/image/组件 2 – 1.png
  56. BIN
      111/static/image/组件 2 – 1@2x.png
  57. BIN
      111/static/image/组件 2 – 1@3x.png
  58. BIN
      111/static/image/组件 3 – 1.png
  59. BIN
      111/static/image/组件 3 – 1@2x.png
  60. BIN
      111/static/image/组件 3 – 1@3x.png
  61. BIN
      111/static/image/组件 4 – 1.png
  62. BIN
      111/static/image/组件 4 – 1@2x.png
  63. BIN
      111/static/image/组件 4 – 1@3x.png
  64. BIN
      111/static/image/组件 5 – 1.png
  65. BIN
      111/static/image/组件 5 – 1@2x.png
  66. BIN
      111/static/image/组件 5 – 1@3x.png
  67. BIN
      111/static/image/联合 2.png
  68. BIN
      111/static/image/联合 2@2x.png
  69. BIN
      111/static/image/联合 2@3x.png
  70. BIN
      111/static/image/联合 2_1.png
  71. BIN
      111/static/image/联合 2_1@2x.png
  72. BIN
      111/static/image/联合 2_1@3x.png
  73. BIN
      111/static/image/路径 24.png
  74. BIN
      111/static/image/路径 24@2x.png
  75. BIN
      111/static/image/路径 24@3x.png
  76. BIN
      111/static/image/路径 25.png
  77. BIN
      111/static/image/路径 25@2x.png
  78. BIN
      111/static/image/路径 25@3x.png
  79. BIN
      111/static/image/路径 3909.png
  80. BIN
      111/static/image/路径 3909@2x.png
  81. BIN
      111/static/image/路径 3909@3x.png
  82. BIN
      111/static/image/路径 3909_1.png
  83. BIN
      111/static/image/路径 3909_1@2x.png
  84. BIN
      111/static/image/路径 3909_1@3x.png
  85. BIN
      111/static/image/路径 3917.png
  86. BIN
      111/static/image/路径 3917@2x.png
  87. BIN
      111/static/image/路径 3917@3x.png
  88. BIN
      111/static/image/路径 3917_1.png
  89. BIN
      111/static/image/路径 3917_1@2x.png
  90. BIN
      111/static/image/路径 3917_1@3x.png
  91. BIN
      111/static/image/路径 4016.png
  92. BIN
      111/static/image/路径 4016@2x.png
  93. BIN
      111/static/image/路径 4016@3x.png
  94. BIN
      111/static/image/路径 4016_1.png
  95. BIN
      111/static/image/路径 4016_1@2x.png
  96. BIN
      111/static/image/路径 4016_1@3x.png
  97. BIN
      111/static/image/路径 4150.png
  98. BIN
      111/static/image/路径 4150@2x.png
  99. BIN
      111/static/image/路径 4150@3x.png
  100. BIN
      111/static/image/路径 6111.png

+ 9
- 0
111/.hbuilderx/launch.json View File

@ -0,0 +1,9 @@
{
"version" : "1.0",
"configurations" : [
{
"playground" : "standard",
"type" : "uni-app:app-android"
}
]
}

+ 0
- 0
111/11.txt View File


+ 49
- 0
111/App.uvue View File

@ -0,0 +1,49 @@
<script lang="uts">
let firstBackTime = 0
export default {
onLaunch: function () {
console.log('App Launch')
},
onShow: function () {
console.log('App Show')
},
onHide: function () {
console.log('App Hide')
},
// #ifdef APP-ANDROID
onLastPageBackPress: function () {
console.log('App LastPageBackPress')
if (firstBackTime == 0) {
uni.showToast({
title: '再按一次退出应用',
position: 'bottom',
})
firstBackTime = Date.now()
setTimeout(() => {
firstBackTime = 0
}, 2000)
} else if (Date.now() - firstBackTime < 2000) {
firstBackTime = Date.now()
uni.exit()
}
},
// #endif
onExit: function () {
console.log('App Exit')
},
}
</script>
<style>
@import "@/static/iconfont.css";
/*每个页面公共css */
.uni-row {
flex-direction: row;
}
body{
background-color: #ffffff;
}
.uni-column {
flex-direction: column;
}
</style>

+ 3
- 0
111/README.md View File

@ -0,0 +1,3 @@
# contract-front
合同小程序前端代码仓库

+ 20
- 0
111/index.html View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<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"></script>
</body>
</html>

+ 9
- 0
111/main.uts View File

@ -0,0 +1,9 @@
import App from './App.uvue'
import { createSSRApp } from 'vue'
export function createApp() {
const app = createSSRApp(App)
return {
app
}
}

+ 43
- 0
111/manifest.json View File

@ -0,0 +1,43 @@
{
"name" : "111",
"appid" : "__UNI__ABF0653",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"uni-app-x" : {},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "wx7d74b5db6c1f7328",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"vueVersion" : "3",
"app" : {
"distribute" : {
"icons" : {
"android" : {
"hdpi" : "",
"xhdpi" : "",
"xxhdpi" : "",
"xxxhdpi" : ""
}
}
}
}
}

+ 85
- 0
111/pages.json View File

@ -0,0 +1,85 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/login",
"style": {
"navigationBarTitleText": "",
"navigationStyle":"custom"
}
},
{
"path": "pages/home/home",
"style": {
"navigationBarTitleText": "主页",
"navigationStyle":"custom"
},
"needLogin": true
},
{
"path": "pages/index/wode",
"style": {
"navigationBarTitleText": "我的",
"navigationStyle":"custom"
},
"needLogin": true
},
{
"path": "pages/views/dingDanCreate",
"style": {
"navigationBarTitleText": "录入订单",
"navigationStyle":"custom"
},
"needLogin": true
},
{
"path": "pages/views/payment",
"style": {
"navigationBarTitleText": "付款信息",
"navigationStyle":"custom"
},
"needLogin": true
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app x",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"uniIdRouter": {},
"tabBar": {
"color": "#7A7E83",
"selectedColor": "#3cc51f",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [{
"pagePath": "pages/home/home",
"iconPath": "/",
"selectedIconPath": "/static/image/路径 3909.png",
"text": "首页"
}, {
"pagePath": "",
"iconPath": "/static/image/路径 4016_1.png",
"selectedIconPath": "/static/image/路径 4016.png",
"text": "订单"
},
{
"pagePath": "pages/index/wode",
"iconPath": "/static/image/路径 3917.png",
"selectedIconPath": "/static/image/路径 24@2x.png",
"text": "我的"
}
]
},
"condition" : { //
"current": 0, //(list )
"list": [
{
"name": "", //
"path": "", //
"query": "" //onLoad
}
]
}
}

+ 354
- 0
111/pages/home/home.uvue View File

@ -0,0 +1,354 @@
<template>
<view class="container">
<!-- 顶部标题 -->
<view class="header">
<view class="header_info">
<text class="header_text" :title="title">{{title}}</text>
<text style="margin-right: 10rpx; font-size: 40rpx;">|</text>
<view @click="change_text" class="header_change">
<text >切换</text>
<uni-icons type="right" size="30" color="#c2d4de" :size="1"></uni-icons>
</view>
</view>
</view>
<view class="swiper">
<image class="swiper-image" src="/static/image/组 71699.png"></image>
</view>
<view class="order_Entry_container" @click="orderEntry">
<image class="order_Entry_image" src="/static/image/组 71699_1@3x.png"></image>
<text style="color: #115881;font-weight: bold;margin-left: 20rpx;">录入订单</text>
<uni-icons class="order_Entry_end" type="right" :size="25" color="#306e91"></uni-icons>
</view>
<view v-if="isshow" class="show_container">
<view class="isshow-header">
<uni-icons class=" isshow-header-content-icon" type="search" :size="20"></uni-icons>
<uni-easyinput :inputBorder="false" @input="handleSearch(ServiceName)" class=" isshow-header-content-input" v-model="ServiceName" placeholder="请输入服务名称" />
<text class="isshow-header-content-text" @click="searchName">搜索</text>
</view>
<view class="isshow-content" >
<text class="isshow-content-text" v-for="(item, index) in textcontent" :key="index" @click="change_city(item.name)">{{item.name}}</text>
</view>
</view>
<view v-if="isshow_1" class="show_container_1">
<image class="show_container_1_image" src="/static/image/图层_6.png"></image>
<view class="show_container_1_footer">
<text>门店已经切换为{{title}}</text>
<button @click="close_view">好的</button>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
ServiceName:'',
title:"北京汽车有限公司",
isshow:false,
isshow_1:false,
newListData:[],
allMsg : [
{ name: "myhua", id: 1 },
{ name: "mp3", id: 2 },
{ name: "hello", id: 3 },
{ name: "world", id: 4 },
{ name: "warm weather", id: 5 },
{ name: "m3", id: 6 },
{ name: "hahaha", id: 7 }
],
textcontent: [
'公告1:欢迎使用车辆合同生成系统!',
'公告2:请及时查看最新用户协议。',
'公告3:隐私政策已更新,请知悉。',
'公告1:欢迎使用车辆合同生成系统!',
'公告2:请及时查看最新用户协议。',
'公告3:隐私政策已更新,请知悉。'
],
};
},
mounted() {
this.allMsg = [
{ name: "myhua", id: 1 },
{ name: "mp3", id: 2 },
{ name: "hello", id: 3 },
{ name: "world", id: 4 },
{ name: "warm weather", id: 5 },
{ name: "m3", id: 6 },
{ name: "hahaha", id: 7 }
];
this.textcontent = this.allMsg;
},
methods: {
change_text(){
if(this.isshow){
this.isshow=false;
}else{
this.isshow=true;
console.log('111')
}
},
orderEntry(){
console.log('111');
uni.navigateTo(
{ url: '/pages/views/dingDanCreate' }
)
},
// 搜索城市名字
searchName(){
},
change_city(name){
this.title = name;
this.change_text();
this.isshow_1 = true;
},
close_view(){
this.isshow_1 = false;
},
// 模糊匹配
// 右上角搜索框--模糊查询
handleSearch(queryString) {
if(event.target.value){
let queryStringArr = event.target.value.split("");
let str = "(.*?)";
this.textcontent = [];
let regStr = str + queryStringArr.join(str) + str;
let reg = RegExp(regStr, "i"); // 以mh为例生成的正则表达式为/(.*?)m(.*?)h(.*?)/i
this.allMsg.map(item => {
if (reg.test(item.name)) {
this.textcontent.push(item);
}
});
}else {
this.textcontent=[];
this.textcontent = this.allMsg;
}
}
}
};
</script>
<style>
.container {
display: flex;
flex-direction: column;
height: 100vh;
background-color: #f5f5f5;
}
/* 头部 */
.header {
padding: 20px;
width: 100%;
height: 15%;
background-color: #044f7a;
color: #fff;
display: flex;
flex-direction: row;
align-items: center;
}
.header_info{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
color: #e0e9ef;
}
.header_text{
width: 45%;
white-space: nowrap;/*设置不换行*/
overflow: hidden; /*设置隐藏*/
text-overflow: ellipsis; /*设置隐藏部分为省略号*/
}
.header_change{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
}
/* 订单录入 */
.order_Entry_container{
width: 90%;
height: 8%;
background-color: #d9e5eb;
border-radius: 10rpx;
left:5%;
display: flex;
flex-direction: row;
align-items: center;
margin-top: 10%;
}
.order_Entry_image{
width: 10%;
height: 70%;
margin-left: 3%;
}
.order_Entry_end{
margin-left: auto;
margin-right: 7%;
}
/* 轮播图 */
.swiper {
height: 30%;
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
overflow: hidden;
}
.swiper-image {
width: 100%;
height: 100%;
margin: 0 auto;
}
.form {
flex: 1;
padding: 20px;
}
.submit-button {
width: 100%;
height: 40px;
background-color: #007aff;
color: #fff;
border: none;
border-radius: 4px;
font-size: 16px;
}
.footer {
display: flex;
justify-content: space-around;
padding: 10px;
background-color: #fff;
border-top: 1px solid #ccc;
}
.nav-item {
text-align: center;
}
.nav-item text {
font-size: 14px;
}
.icon-image{
width: 30%;
height: 140px;
margin: 0 auto;
margin-top: 20px;
}
/* 遮罩层 */
.show_container{
width: 60%;
height: 36%;
background-color: #ffffff;
position: absolute;
border-radius: 20rpx;
/* border: 1px solid; */
box-shadow: 0px 3rpx 0px #e4e4e4;
left:5%;
top: 13%;
z-index:999;
display: flex;
flex-direction: column;
align-items: center;
}
.isshow-header{
width: 90%;
height: 30%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
color: #3c7697;
}
.isshow-header-content-icon{
width: 10%;
height: 30%;
}
.isshow-header-content-input{
width: 80%;
height: 40%;
margin: 0 20rpx 0 20rpx;
border:none;
outline:none;
}
.isshow-content{
height: 70%;
display: flex;
flex-direction: column;
align-items: center;
overflow-y:scroll;
}
.isshow-content-text{
color: #414141;
height: 30rpx;
width: 100%;
line-height: 30rpx;
margin: 20rpx 0 20rpx 0;
font-size: 30rpx;
}
.isshow-content::-webkit-scrollbar {
display: none;
}
/* 提示框*/
.show_container_1{
width: 80%;
height: 40%;
background-color: #ffffff;
position: absolute;
border-radius: 20rpx;
/* border: 1px solid; */
box-shadow: 0px 3rpx 0px #e4e4e4;
left:10%;
top: 30%;
z-index:999;
display: flex;
flex-direction: column;
align-items: center;
}
.show_container_1_image{
height: 50%;
width: 50%;
top: 5%;
}
.show_container_1_footer{
height: 50%;
width: 100%;
color:#0b5583;
display: flex;
flex-direction: column;
align-items: center;
font-weight: bold;
font-size: 10rpx;
}
.show_container_1_footer text{
margin-top: 10%;
}
.show_container_1_footer button{
color:#0b5583;
height: 30%;
border-radius: 40rpx;
width: 80%;
margin-top: 5%;
border: 1px solid #0c547e;
display: flex;
justify-content: center;
align-items: center;
}
</style>

+ 105
- 0
111/pages/index/index.uvue View File

@ -0,0 +1,105 @@
<template>
<view class="container">
<view class="form">
<input class="input" type="text" placeholder="请输入您的账号" v-model="username" />
<input class="input" type="password" placeholder="请输入您的密码" v-model="password" />
<view class="agreement">
<checkbox-group @change="handleAgreementChange">
<label>
<checkbox value="agree" /> 阅读并同意《用户协议》和《隐私政策》
</label>
</checkbox-group>
</view>
<button class="button" @click="handleLogin">登录</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
username: '',
password: '',
agreed: false
};
},
methods: {
handleAgreementChange(e) {
this.agreed = e.detail.value.includes('agree');
},
handleLogin() {
if (!this.agreed) {
uni.showToast({
title: '请先同意用户协议和隐私政策',
icon: 'none'
});
return;
}
// 简单的登录验证逻辑
if (this.username === 'admin' && this.password === '123456') {
uni.showToast({
title: '登录成功',
icon: 'success',
duration: 1500, // 提示持续时间
success: () => {
// 延迟跳转,确保用户看到提示
setTimeout(() => {
uni.navigateTo({
url: '/pages/home/home' // 跳转到首页或其他页面
});
}, 1500);
}
});
} else {
uni.showToast({
title: '账号或密码错误',
icon: 'none'
});
}
}
}
};
</script>
<style>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f5f5f5;
}
.form {
width: 80%;
background-color: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.input {
width: 100%;
height: 40px;
margin-bottom: 15px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}
.agreement {
margin-bottom: 15px;
}
.button {
width: 100%;
height: 40px;
background-color: #007aff;
color: #fff;
border: none;
border-radius: 4px;
font-size: 16px;
}
</style>

+ 88
- 0
111/pages/index/index_1.uvue View File

@ -0,0 +1,88 @@
<template>
<view class="container">
<view class="form">
<input class="input" type="text" placeholder="请输入您的账号" v-model="username" />
<input class="input" type="password" placeholder="请输入您的密码" v-model="password" />
<view class="agreement">
<checkbox-group @change="handleAgreementChange">
<label>
<checkbox value="agree" /> 阅读并同意《用户协议》和《隐私政策》
</label>
</checkbox-group>
</view>
<button class="button" @click="handleLogin">登录</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
username: '',
password: '',
agreed: false
};
},
methods: {
handleAgreementChange(e) {
this.agreed = e.detail.value.includes('agree');
},
handleLogin() {
if (!this.agreed) {
uni.showToast({
title: '请先同意用户协议和隐私政策',
icon: 'none'
});
return;
}
// 这里可以添加登录逻辑
uni.showToast({
title: '登录成功',
icon: 'success'
});
}
}
};
</script>
<style>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f5f5f5;
}
.form {
width: 80%;
background-color: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.input {
width: 100%;
height: 40px;
margin-bottom: 15px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}
.agreement {
margin-bottom: 15px;
}
.button {
width: 100%;
height: 40px;
background-color: #007aff;
color: #fff;
border: none;
border-radius: 4px;
font-size: 16px;
}
</style>

+ 271
- 0
111/pages/index/login.uvue View File

@ -0,0 +1,271 @@
<template>
<view class="login-container">
<!-- 顶部欢迎语 -->
<view class="login_image">
<image src="/static/image/组件 3 – 1.png" draggable ="false"></image>
</view>
<view class="welcome">
<text class="welcome-text">欢迎登陆车辆合同生成</text>
</view>
<!-- 账号输入框 -->
<view class="input-container">
<uni-easyinput prefixIcon="person" class="input" placeholder="请输入您的账号" v-model="username" :inputBorder="false" ></uni-easyinput>
<view class="underline"></view>
</view>
<!-- 密码输入框 -->
<view class="input-container">
<uni-easyinput prefixIcon="locked" class="input" type="password" placeholder="请输入您的密码" v-model="password" :inputBorder="false" ></uni-easyinput>
<view class="underline"></view>
</view>
<!-- 协议提示 -->
<view class="agreement">
<radio class = "login-agree" value="r1" :checked="checked" @click="changeCK">登录即代表同意
</radio>
<text class="link" @click="showModal">《用户协议》</text>
<text class="login-agree">与</text>
<text class="link" @click="showModal">《隐私政策》</text>
</view>
<view class = 'button_container'>
<!-- 登录按钮 -->
<button class="login-button" @click="handleLogin">登陆</button>
</view>
<mosowe-confirm-popup
v-model="popupNoCancelShow"
title="服务协议和隐私政策"
confirmText
cancelText
>
没有取消弹框
<template v-slot:footer>
<view class="mini_container">
<button class="mini-btn" type="primary" size="mini" @click="closeModal">取消</button>
<button class="mini-btn" type="primary" size="mini" @click="getConfirm">确认</button>
</view>
</template>
</mosowe-confirm-popup>
</view>
</template>
<script>
export default {
data() {
return {
username: '', // 账号
password: '', // 密码
isModalVisible: false, // 控制弹窗显示
modalTitle: '', // 弹窗标题
modalContent: '' ,// 弹窗内容
popupNoCancelShow: false,
checked:false,
};
},
methods: {
// 处理登录逻辑
handleLogin() {
if (!this.username || !this.password) {
uni.showToast({ title: '请输入账号和密码', icon: 'none' });
return;
}else{
console.log(this.checked);
if(this.checked){
uni.showToast({ title: '登录成功', icon: 'success' });
uni.switchTab({ url: '/pages/home/home' });
}else{
uni.showToast({ title: '请勾选服务协议', icon: 'none' });
}
}
},
// 显示弹窗
showModal() {
this.popupNoCancelShow = true ;
},
// 关闭弹窗
closeModal() {
this.popupNoCancelShow = false ;
},
change(e) {
console.log('当前模式:' + e.type + ',状态:' + e.show);
},
changeCK(){
if(this.checked){
this.checked = false;
}else{
this.checked = true;
}
},
// 处理选中事件
getConfirm(){
console.log("111");
if(this.checked){
this.checked = this.checked;
}else{
this.checked = true;
}
this.popupNoCancelShow = false;
}
}
};
</script>
<style>
/* 页面容器 */
.login-container {
display: flex;
flex-direction: column;
align-items: center;
background-color: #ffffff;
height: 100vh;
width: 100%;
}
.button-text {
color: #fff;
font-size: 12px;
}
/* 登录图片 */
.login_image{
width: 100%;
height: 40%;
}
.login_image image{
width: 100%;
height: 100%;
}
/* 欢迎语 */
.welcome {
height: 15%;
margin-bottom: 40rpx;
display: flex;
justify-content: end;
align-items: center;
}
.welcome-text {
font-size: 20px;
font-weight: bold;
color: #044f7a;
}
/* 输入框容器 */
.input-container {
width: 100%;
left:10%;
}
/* 输入框样式 */
.input {
width: 70%;
height: 40px;
font-size: 16px;
border: none;
outline: none;
background-color: transparent;
}
/* 下划线样式 */
.underline {
width: 100%;
height: 1px;
background-color: #f2f2f2;
margin-top: 5px;
}
/* 协议提示 */
.agreement {
font-size: 14px;
color: #666;
margin-bottom: 20px;
width: 100%;
left:10%;
display: flex;
flex-direction: row;
align-items: center;
}
.login-agree{
font-size: 20rpx;
}
.link {
color: #007aff;
text-decoration: underline;
font-size: 20rpx;
}
.button_container{
width: 100%;
height: 40%;
display: flex;
align-items: center;
}
/* 登录按钮 */
.login-button {
width: 70%;
height: 70rpx;
line-height: 70rpx;
background-color: #044f7a;
color: #fff;
border: none;
border-radius: 4px;
font-size: 16px;
position: absolute;
top:15%;
left:20%;
}
/* 弹窗样式 */
.modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
}
.modal-content {
width: 80%;
background-color: #fff;
border-radius: 8px;
padding: 20px;
}
.modal-header {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 18px;
font-weight: bold;
margin-bottom: 15px;
}
.close {
font-size: 24px;
cursor: pointer;
}
.modal-body {
font-size: 16px;
line-height: 1.5;
}
.mini_container{
display: flex;
flex-direction: row;
align-items: center;
}
/* 按钮 */
.mini-btn{
width: 30%;
margin-left: 15%;
}
</style>

+ 123
- 0
111/pages/index/wode.uvue View File

@ -0,0 +1,123 @@
<template>
<view class="container">
<!-- 用户信息 -->
<view class="user-info">
<text class="username">李晓春</text>
</view>
<!-- 功能列表 -->
<view class="menu">
<view class="menu-item" >
<image class="arrow" src="/static/arrow-right.png"></image>
<text>关于我们</text>
</view>
<view class="menu-item" >
<image class="arrow" src="/static/arrow-right.png"></image>
<text>修改密码</text>
</view>
<view class="menu-item">
<image class="arrow" src="/static/arrow-right.png"></image>
<text>服务协议</text>
</view>
<view class="menu-item" >
<image class="arrow" src="/static/arrow-right.png"></image>
<text>隐私政策</text>
</view>
<view class="menu-item" @click="logout">
<image class="arrow" src="/static/arrow-right.png"></image>
<text>退出登录</text>
</view>
</view>
</view>
</template>
<script>
export default {
methods: {
logout() {
uni.showModal({
title: '提示',
content: '确定要退出登录吗?',
success: (res) => {
if (res.confirm) {
uni.showToast({
title: '退出登录成功',
icon: 'success',
success: () => {
// 这里可以添加退出登录的逻辑,例如清除用户登录状态
setTimeout(() => {
uni.navigateTo({ url: '/pages/index/index' });
}, 1500);
}
});
}
}
});
}
}
};
</script>
<style>
.container {
display: flex;
flex-direction: column;
height: 300vh;
background-color: #f5f5f5;
}
.user-info {
padding: 20px;
height: 200px;
background-color: #007aff;
color: #fff;
text-align: center;
}
.username {
font-size: 20px;
font-weight: bold;
margin: 0 auto;
line-height: 200px;
}
.menu {
flex: 1;
padding: 20px;
background-color: #fff;
}
.menu-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 0;
border-bottom: 1px solid #eee;
}
.menu-item text {
font-size: 16px;
}
.arrow {
width: 20px;
height: 20px;
}
.footer {
display: flex;
justify-content: space-around;
padding: 10px;
background-color: #fff;
border-top: 1px solid #ccc;
}
.nav-item {
text-align: center;
}
.nav-item text {
font-size: 14px;
}
</style>

+ 267
- 0
111/pages/views/dingDanCreate.uvue View File

@ -0,0 +1,267 @@
<template>
<view class="container">
<!-- 顶部标题 -->
<view class="header">
<view class="header_info">
<uni-icons class="header_info_icon" type="left" size="30" color="#c2d4de" :size="1" @click="toBack"></uni-icons>
<text class="header_text">录入订单</text>
</view>
</view>
<view class="content_container">
<view class="isshow-header">
<uni-icons class=" isshow-header-content-icon" type="search" :size="20"></uni-icons>
<uni-easyinput :inputBorder="false" @input="handleSearch(ServiceName)" class=" isshow-header-content-input" v-model="ServiceName" placeholder="请输入服务名称" focus=true />
<text class="isshow-header-content-text" @click="searchName">搜索</text>
</view>
</view>
<!-- 二级分类 -->
<view class="content_footer">
<!-- 分类 -->
<scroll-view show-scrollbar="false" class="content_footer_left">
<view v-for="(item,index) in product" :class="['content_footer_left_product', FirstIndex === item.id?'click_color':'']" @click="FirstLevelChange(item.id)">{{item.name}}</view>
</scroll-view>
<scroll-view show-scrollbar="false" class="content_footer_right">
<view v-for="(item,index) in product_2" class="content_footer_right_content">
<text class="text" :class="['content_footer_right_content_text', item.name === name?'select_color':'']">{{item.name}}</text>
<radio class="content_footer_right_content_radio" value="item.id" :checked="item.name == name" activeBackgroundColor="#04517b" @click="selctRadio(item.name)"></radio>
</view>
</scroll-view>
</view>
<!-- 下一步 -->
<button class="buttun" @click="toPayment">下一步</button>
</view>
</template>
<script>
export default {
data() {
return {
product:[
{
id: 1,
name: '数码',
children: [
{
id: 12,
name: '耳机',
children: [
{ id: 121, name: '漫步者' },
{ id: 122, name: '倍思' }
]
},
{
id: 13,
name: '电脑',
children: [
{ id: 131, name: '联想' },
{ id: 132, name: '小米' },
{ id: 133, name: '戴尔' }
]
}
]
},
{
id: 2,
name: '家用电器',
// 类似数码的子结构
children:[
{
id: 11,
name: '手机',
children: [
{ id: 111, name: 'iphone' },
{ id: 112, name: 'vivo' },
{ id: 113, name: 'oppo' }
]
}
]
}
],
product_2:[],
FirstIndex:0,
name:''
}
},
methods: {
toBack(){
uni.navigateBack({
delta: 1
});
},
nameClick (){
},
FirstLevelChange(id){
this.FirstIndex = id;
this.product_2 = this.product[id-1].children;
},
selctRadio(name){
console.log(name);
this.name = name;
}
},
toPayment(){
console.log(111);
uni.navigateTo(
{ url: '/pages/views/payment' }
)
}
}
</script>
<style>
.container {
display: flex;
flex-direction: column;
height: 100vh;
background-color: #f5f5f5;
position: relative;
}
/* 头部 */
.header {
width: 100%;
height: 15%;
background-color: #044f7a;
color: #fff;
display: flex;
flex-direction: row;
align-items: center;
}
.header_info{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
color: #e0e9ef;
justify-content: center;
align-items: center;
flex: 15;
}
.header_info_icon{
margin-right: auto;
flex: 1;
}
.header_text{
flex: 14;
display: flex;
/* justify-content: center; */
left:35%;
align-items: center;
}
/* 搜索框 */
.content_container{
width: 100%;
height: 10%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center
}
.content_footer{
width: 100%;
height: 75%;
display: flex;
flex-direction: row;
}
/* 搜索框 */
/* 遮罩层 */
.isshow-header{
width: 90%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
color: #3c7697;
}
.isshow-header-content-icon{
width: 10%;
height: 30%;
}
.isshow-header-content-input{
width: 80%;
height: 40%;
margin: 0 20rpx 0 20rpx;
border:none;
outline:none;
}
.isshow-content{
height: 70%;
display: flex;
flex-direction: column;
align-items: center;
overflow-y:scroll;
}
.isshow-content-text{
color: #414141;
height: 30rpx;
width: 100%;
line-height: 30rpx;
margin: 20rpx 0 20rpx 0;
font-size: 30rpx;
}
.isshow-content::-webkit-scrollbar {
display: none;
}
/* 二级分类 */
.content_footer_left{
width: 20%;
}
.content_footer_left_product{
width: 100%;
height: 10%;
display: flex;
justify-content: center;
align-items: center;
font-size: 27rpx;
color: #7f7f7f;
}
.content_footer_right{
width: 80%;
display: flex;
flex-direction: column;
align-items: center;
}
.content_footer_right_content{
width: 100%;
height: 10%;
display: flex;
flex-direction: row;
/* background-color: red; */
align-items: center;
}
.content_footer_right_content_text{
margin-right: auto;
color:#242424;
margin-left: 5%;
}
.content_footer_right_content_radio{
margin-left: auto;
margin-right: 5%;
}
/* 点击颜色 */
.click_color{
background-color: #044f7a;
color: #f0fcf2;
}
.select_color{
color: #316b8b;
}
/* 按钮 */
.buttun{
width: 30%;
position: absolute;
display: flex;
justify-content: center;
align-items: center;
font-size: 25rpx;
border-radius: 30rpx;
background-color: #05507c;
bottom:5%;
right: 5%;
color: #fafcff;
}
</style>

+ 22
- 0
111/pages/views/payment.uvue View File

@ -0,0 +1,22 @@
<template>
<view>
你好
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

BIN
111/static/gonggao.png View File

Before After
Width: 37  |  Height: 32  |  Size: 2.0 KiB

+ 63
- 0
111/static/iconfont.css View File

@ -0,0 +1,63 @@
@font-face {
font-family: "iconfont"; /* Project id 2996747 */
src: url('/static/iconfont.ttf') format('woff2'),
url('/static/iconfont.ttf') format('woff'),
url('iconfont.ttf?t=1739713766886') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.qungonggao:before {
content: "\e69a";
}
.cancel:before {
content: "\e6db";
}
.showviewvisible:before {
content: "\e9d3";
}
.hideinvisiblehidden:before {
content: "\e9db";
}
.check:before {
content: "\e645";
}
.delete:before {
content: "\e67e";
}
.error:before {
content: "\e613";
}
.message:before {
content: "\e604";
}
.search:before {
content: "\e626";
}
.edit:before {
content: "\e62a";
}
.star-off:before {
content: "\e60e";
}
.goback:before {
content: "\e68c";
}

BIN
111/static/iconfont.ttf View File


BIN
111/static/image/图像 4.png View File

Before After
Width: 124  |  Height: 124  |  Size: 25 KiB

BIN
111/static/image/图像 4@2x.png View File

Before After
Width: 248  |  Height: 248  |  Size: 82 KiB

BIN
111/static/image/图像 4@3x.png View File

Before After
Width: 372  |  Height: 372  |  Size: 165 KiB

BIN
111/static/image/图层_6.png View File

Before After
Width: 242  |  Height: 233  |  Size: 16 KiB

BIN
111/static/image/图层_6@2x.png View File

Before After
Width: 483  |  Height: 465  |  Size: 56 KiB

BIN
111/static/image/图层_6@3x.png View File

Before After
Width: 725  |  Height: 698  |  Size: 113 KiB

BIN
111/static/image/矩形 4533.png View File

Before After
Width: 768  |  Height: 98  |  Size: 1.9 KiB

BIN
111/static/image/矩形 4533@2x.png View File

Before After
Width: 1536  |  Height: 196  |  Size: 6.2 KiB

BIN
111/static/image/矩形 4533@3x.png View File

Before After
Width: 2304  |  Height: 294  |  Size: 13 KiB

BIN
111/static/image/矩形 5315.png View File

Before After
Width: 15  |  Height: 49  |  Size: 298 B

BIN
111/static/image/矩形 5315@2x.png View File

Before After
Width: 30  |  Height: 98  |  Size: 783 B

BIN
111/static/image/矩形 5315@3x.png View File

Before After
Width: 45  |  Height: 147  |  Size: 1.5 KiB

BIN
111/static/image/组 70865.png View File

Before After
Width: 61  |  Height: 55  |  Size: 2.6 KiB

BIN
111/static/image/组 70865@2x.png View File

Before After
Width: 122  |  Height: 110  |  Size: 7.5 KiB

BIN
111/static/image/组 70865@3x.png View File

Before After
Width: 183  |  Height: 164  |  Size: 14 KiB

BIN
111/static/image/组 71663.png View File

Before After
Width: 281  |  Height: 192  |  Size: 6.1 KiB

BIN
111/static/image/组 71663@2x.png View File

Before After
Width: 562  |  Height: 384  |  Size: 18 KiB

BIN
111/static/image/组 71663@3x.png View File

Before After
Width: 843  |  Height: 576  |  Size: 34 KiB

BIN
111/static/image/组 71666.png View File

Before After
Width: 281  |  Height: 192  |  Size: 2.3 KiB

BIN
111/static/image/组 71666@2x.png View File

Before After
Width: 562  |  Height: 384  |  Size: 6.5 KiB

BIN
111/static/image/组 71666@3x.png View File

Before After
Width: 843  |  Height: 576  |  Size: 16 KiB

BIN
111/static/image/组 71693.png View File

Before After
Width: 96  |  Height: 84  |  Size: 11 KiB

BIN
111/static/image/组 71693@2x.png View File

Before After
Width: 193  |  Height: 168  |  Size: 24 KiB

BIN
111/static/image/组 71693@3x.png View File

Before After
Width: 289  |  Height: 252  |  Size: 37 KiB

BIN
111/static/image/组 71696.png View File

Before After
Width: 52  |  Height: 52  |  Size: 2.6 KiB

BIN
111/static/image/组 71696@2x.png View File

Before After
Width: 103  |  Height: 103  |  Size: 6.8 KiB

BIN
111/static/image/组 71696@3x.png View File

Before After
Width: 155  |  Height: 155  |  Size: 9.4 KiB

BIN
111/static/image/组 71697.png View File

Before After
Width: 105  |  Height: 90  |  Size: 9.4 KiB

BIN
111/static/image/组 71697@2x.png View File

Before After
Width: 209  |  Height: 179  |  Size: 29 KiB

BIN
111/static/image/组 71697@3x.png View File

Before After
Width: 314  |  Height: 269  |  Size: 40 KiB

BIN
111/static/image/组 71699.png View File

Before After
Width: 750  |  Height: 426  |  Size: 289 KiB

BIN
111/static/image/组 71699@2x.png View File

Before After
Width: 1500  |  Height: 1100  |  Size: 855 KiB

BIN
111/static/image/组 71699@3x.png View File

Before After
Width: 2250  |  Height: 1650  |  Size: 1.3 MiB

BIN
111/static/image/组 71699_1.png View File

Before After
Width: 750  |  Height: 550  |  Size: 299 KiB

BIN
111/static/image/组 71699_1@2x.png View File

Before After
Width: 1500  |  Height: 1100  |  Size: 862 KiB

BIN
111/static/image/组 71699_1@3x.png View File

Before After
Width: 189  |  Height: 182  |  Size: 3.9 KiB

BIN
111/static/image/组件 2 – 1.png View File

Before After
Width: 281  |  Height: 192  |  Size: 7.7 KiB

BIN
111/static/image/组件 2 – 1@2x.png View File

Before After
Width: 562  |  Height: 384  |  Size: 23 KiB

BIN
111/static/image/组件 2 – 1@3x.png View File

Before After
Width: 843  |  Height: 576  |  Size: 44 KiB

BIN
111/static/image/组件 3 – 1.png View File

Before After
Width: 750  |  Height: 490  |  Size: 48 KiB

BIN
111/static/image/组件 3 – 1@2x.png View File

Before After
Width: 1500  |  Height: 980  |  Size: 141 KiB

BIN
111/static/image/组件 3 – 1@3x.png View File

Before After
Width: 2250  |  Height: 1470  |  Size: 308 KiB

BIN
111/static/image/组件 4 – 1.png View File

Before After
Width: 281  |  Height: 192  |  Size: 6.2 KiB

BIN
111/static/image/组件 4 – 1@2x.png View File

Before After
Width: 562  |  Height: 384  |  Size: 18 KiB

BIN
111/static/image/组件 4 – 1@3x.png View File

Before After
Width: 843  |  Height: 576  |  Size: 36 KiB

BIN
111/static/image/组件 5 – 1.png View File

Before After
Width: 205  |  Height: 155  |  Size: 3.0 KiB

BIN
111/static/image/组件 5 – 1@2x.png View File

Before After
Width: 410  |  Height: 310  |  Size: 9.0 KiB

BIN
111/static/image/组件 5 – 1@3x.png View File

Before After
Width: 615  |  Height: 465  |  Size: 18 KiB

BIN
111/static/image/联合 2.png View File

Before After
Width: 768  |  Height: 147  |  Size: 3.1 KiB

BIN
111/static/image/联合 2@2x.png View File

Before After
Width: 1536  |  Height: 294  |  Size: 9.7 KiB

BIN
111/static/image/联合 2@3x.png View File

Before After
Width: 2304  |  Height: 441  |  Size: 21 KiB

BIN
111/static/image/联合 2_1.png View File

Before After
Width: 768  |  Height: 147  |  Size: 3.1 KiB

BIN
111/static/image/联合 2_1@2x.png View File

Before After
Width: 1536  |  Height: 294  |  Size: 9.7 KiB

BIN
111/static/image/联合 2_1@3x.png View File

Before After
Width: 2304  |  Height: 441  |  Size: 21 KiB

BIN
111/static/image/路径 24.png View File

Before After
Width: 30  |  Height: 29  |  Size: 770 B

BIN
111/static/image/路径 24@2x.png View File

Before After
Width: 60  |  Height: 58  |  Size: 1.9 KiB

BIN
111/static/image/路径 24@3x.png View File

Before After
Width: 91  |  Height: 87  |  Size: 2.5 KiB

BIN
111/static/image/路径 25.png View File

Before After
Width: 27  |  Height: 33  |  Size: 451 B

BIN
111/static/image/路径 25@2x.png View File

Before After
Width: 54  |  Height: 65  |  Size: 1.4 KiB

BIN
111/static/image/路径 25@3x.png View File

Before After
Width: 81  |  Height: 98  |  Size: 2.1 KiB

BIN
111/static/image/路径 3909.png View File

Before After
Width: 59  |  Height: 54  |  Size: 1.3 KiB

BIN
111/static/image/路径 3909@2x.png View File

Before After
Width: 118  |  Height: 107  |  Size: 3.7 KiB

BIN
111/static/image/路径 3909@3x.png View File

Before After
Width: 177  |  Height: 161  |  Size: 5.2 KiB

BIN
111/static/image/路径 3909_1.png View File

Before After
Width: 59  |  Height: 54  |  Size: 1.3 KiB

BIN
111/static/image/路径 3909_1@2x.png View File

Before After
Width: 118  |  Height: 107  |  Size: 3.7 KiB

BIN
111/static/image/路径 3909_1@3x.png View File

Before After
Width: 177  |  Height: 161  |  Size: 5.2 KiB

BIN
111/static/image/路径 3917.png View File

Before After
Width: 57  |  Height: 57  |  Size: 1.2 KiB

BIN
111/static/image/路径 3917@2x.png View File

Before After
Width: 114  |  Height: 114  |  Size: 3.5 KiB

BIN
111/static/image/路径 3917@3x.png View File

Before After
Width: 172  |  Height: 171  |  Size: 6.6 KiB

BIN
111/static/image/路径 3917_1.png View File

Before After
Width: 57  |  Height: 57  |  Size: 1.3 KiB

BIN
111/static/image/路径 3917_1@2x.png View File

Before After
Width: 114  |  Height: 114  |  Size: 3.5 KiB

BIN
111/static/image/路径 3917_1@3x.png View File

Before After
Width: 172  |  Height: 171  |  Size: 6.6 KiB

BIN
111/static/image/路径 4016.png View File

Before After
Width: 52  |  Height: 61  |  Size: 1.3 KiB

BIN
111/static/image/路径 4016@2x.png View File

Before After
Width: 105  |  Height: 122  |  Size: 3.0 KiB

BIN
111/static/image/路径 4016@3x.png View File

Before After
Width: 157  |  Height: 184  |  Size: 4.7 KiB

BIN
111/static/image/路径 4016_1.png View File

Before After
Width: 52  |  Height: 61  |  Size: 887 B

BIN
111/static/image/路径 4016_1@2x.png View File

Before After
Width: 105  |  Height: 122  |  Size: 2.6 KiB

BIN
111/static/image/路径 4016_1@3x.png View File

Before After
Width: 157  |  Height: 184  |  Size: 4.7 KiB

BIN
111/static/image/路径 4150.png View File

Before After
Width: 45  |  Height: 45  |  Size: 1.0 KiB

BIN
111/static/image/路径 4150@2x.png View File

Before After
Width: 90  |  Height: 90  |  Size: 2.7 KiB

BIN
111/static/image/路径 4150@3x.png View File

Before After
Width: 135  |  Height: 135  |  Size: 5.5 KiB

BIN
111/static/image/路径 6111.png View File

Before After
Width: 52  |  Height: 52  |  Size: 2.1 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save