2 Commits

Author SHA1 Message Date
@fawn-nine
8c2cb8bc39 备份 2023-12-08 14:48:44 +08:00
@fawn-nine
716b3fce33 方剂检索页面ui 2023-11-10 13:58:57 +08:00
20 changed files with 936 additions and 318 deletions

View File

@@ -6,8 +6,8 @@ if (process.env.NODE_ENV === 'development') {
// socketUrl = "ws://localhost:6001/"; // socketUrl = "ws://localhost:6001/";
// baseUrl = "https://twin-ui.com/demo/"; // baseUrl = "https://twin-ui.com/demo/";
// baseUrl = "http://59.110.212.44:9200/pb/"; // baseUrl = "http://59.110.212.44:9200/pb/";
baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境 // baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境
// baseUrl = "https://api.nuttyreading.com/"; // 线上正式 baseUrl = "https://api.nuttyreading.com/"; // 线上正式
// baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑 // baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑
// baseUrl = "http://192.168.110.110:9200/pb/"; // baseUrl = "http://192.168.110.110:9200/pb/";
// baseUrl = "http://192.168.110.38:9200/pb/"; // 吴春磊笔记本1 // baseUrl = "http://192.168.110.38:9200/pb/"; // 吴春磊笔记本1
@@ -45,10 +45,9 @@ const courtConfig = {
} }
}; };
//手机号验证正则表达式 //手机号验证正则表达式
// (中国大陆) // const phoneRegular = /^1\d{10}$/;
const phoneRegular = /^1\d{10}$/;
// 手机号码验证 支持港澳台 大陆 // 手机号码验证 支持港澳台 大陆
// const phoneRegular = /^[1][3-8]\d{9}$|^([6|9])\d{7}$|^[0][9]\d{8}$|^[6]([8|6])\d{5}$|^(00){0,1}(65){1}[13689]\d{6,7}$/; const phoneRegular = /^[1][3-8]\d{9}$|^([6|9])\d{7}$|^[0][9]\d{8}$|^[6]([8|6])\d{5}$|^(00){0,1}(65){1}[13689]\d{6,7}$/;
//邮箱验证正则表达式 //邮箱验证正则表达式
const mailRegular = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/; const mailRegular = /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;
//密码验证正则表达式 //密码验证正则表达式

View File

@@ -167,7 +167,6 @@ $http.dataFactory = async function(res) {
title: '登录失效,请重新登录', title: '登录失效,请重新登录',
icon: 'none' icon: 'none'
}); });
console.log('到这里了')
setTimeout(() => { setTimeout(() => {
uni.navigateTo({ uni.navigateTo({
url: "/pages/user/login" url: "/pages/user/login"

View File

@@ -12,8 +12,8 @@
"src" : "图片路径" "src" : "图片路径"
} }
], ],
"versionName" : "1.2.15", "versionName" : "1.2.13",
"versionCode" : 1215, "versionCode" : 1213,
"app-plus" : { "app-plus" : {
"compatible" : { "compatible" : {
"ignoreVersion" : true "ignoreVersion" : true
@@ -154,10 +154,7 @@
"splashscreen" : { "splashscreen" : {
"alwaysShowBeforeRender" : false "alwaysShowBeforeRender" : false
}, },
"nativePlugins" : {}, "nativePlugins" : {}
"uniStatistics" : {
"enable" : true
}
}, },
// 5+App特有相关 // 5+App特有相关
"quickapp" : {}, "quickapp" : {},
@@ -175,9 +172,6 @@
"scope.userLocation" : { "scope.userLocation" : {
"desc" : "你的位置信息将用于小程序位置接口的效果展示" "desc" : "你的位置信息将用于小程序位置接口的效果展示"
} }
},
"uniStatistics" : {
"enable" : true
} }
}, },
"h5" : { "h5" : {
@@ -190,61 +184,9 @@
"treeShaking" : { "treeShaking" : {
"enable" : true "enable" : true
} }
},
"uniStatistics" : {
"enable" : true
} }
}, },
"_spaceID" : "mp-3614b80b-2d75-4462-a481-4998f8187274", "_spaceID" : "mp-3614b80b-2d75-4462-a481-4998f8187274"
"uniStatistics" : {
"version" : "2",
"enable" : true
},
"mp-alipay" : {
"uniStatistics" : {
"enable" : true
}
},
"mp-baidu" : {
"uniStatistics" : {
"enable" : true
}
},
"mp-jd" : {
"uniStatistics" : {
"enable" : true
}
},
"mp-kuaishou" : {
"uniStatistics" : {
"enable" : true
}
},
"mp-lark" : {
"uniStatistics" : {
"enable" : true
}
},
"mp-qq" : {
"uniStatistics" : {
"enable" : true
}
},
"mp-toutiao" : {
"uniStatistics" : {
"enable" : true
}
},
"quickapp-webview-huawei" : {
"uniStatistics" : {
"enable" : true
}
},
"quickapp-webview-union" : {
"uniStatistics" : {
"enable" : true
}
}
} }
// 小程序特有相关 // 小程序特有相关

View File

@@ -508,6 +508,22 @@
"navigationBarTitleText" : "脉穴详情", "navigationBarTitleText" : "脉穴详情",
"enablePullDownRefresh" : false "enablePullDownRefresh" : false
} }
},
{
"path" : "pages/prescription/prescription",
"style" :
{
"navigationBarTitleText" : "方药检索",
"enablePullDownRefresh" : false
}
},
{
"path" : "pages/prescription/prescriptionDetail",
"style" :
{
"navigationBarTitleText" : "方药详情",
"enablePullDownRefresh" : false
}
} }
], ],
"globalStyle": { "globalStyle": {

View File

@@ -3,36 +3,34 @@
<!-- <z-nav-bar backState="2000" title="首页"></z-nav-bar> --> <!-- <z-nav-bar backState="2000" title="首页"></z-nav-bar> -->
<view class="home_bg"> <view class="home_bg">
<view class="" style=" "> <view class="" style=" ">
<view class="icon_hua">
<view class="icon_hua"> <image src="../../static/icon/home_icon_3.png" mode="aspectFit" class="icon_hua_1"></image>
<image src="../../static/icon/home_icon_1.png" mode="aspectFit" class="icon_hua_1"></image> </view>
</view> <view class="hehan">
<view class="hehan"> <image src="../../static/icon/hehan.png" mode="aspectFit" class="icon_hua_1"></image>
<image src="../../static/icon/hehan.png" mode="aspectFit" class="icon_hua_1"></image> </view>
</view> <view class="fiveIcon flexbox" >
<view class="fiveIcon flexbox" style="justify-content: space-around;">
<div class="item item1" @click="onPageJump('../acupoint/acupoint')"> <div class="item item1" @click="onPageJump('../acupoint/acupoint')">
<image src="../../static/icon/five1.png" mode="aspectFit" ></image> <image src="../../static/icon/five1.png" mode="aspectFit" ></image>
<text>经穴检索</text> <text>经穴检索</text>
</div> </div>
<!-- <div class="item item1"> <div class="item item1" @click="onPageJump('../prescription/prescription')">
<image src="../../static/icon/five2.png" mode="aspectFit"></image> <image src="../../static/icon/five2.png" mode="aspectFit"></image>
<text>方药检索</text> <text>方药检索</text>
</div> --> </div>
<!-- <div class="item item1"> <div class="item item1">
<image src="../../static/icon/five4.png" mode="aspectFit"></image> <image src="../../static/icon/five4.png" mode="aspectFit"></image>
<text>五运六气</text> <text>五运六气</text>
</div> --> </div>
<div class="item item1" @click="onPageJump('../peanut/searchFor')"> <div class="item item1" @click="onPageJump('../peanut/searchFor')">
<image src="../../static/icon/five3.png" mode="aspectFit"></image> <image src="../../static/icon/five3.png" mode="aspectFit"></image>
<text>书名检索</text> <text>书名检索</text>
</div> </div>
<!-- <div class="item item1"> <div class="item item1">
<image src="../../static/icon/five5.png" mode="aspectFit"></image> <image src="../../static/icon/five5.png" mode="aspectFit"></image>
<text>吴门医述</text> <text>吴门医述</text>
</div> --> </div>
</view> </view>
<!-- <view class="search_box flexbox" @click="onPageJump('../peanut/searchFor')"> <!-- <view class="search_box flexbox" @click="onPageJump('../peanut/searchFor')">
<view class="search"> <view class="search">
@@ -52,23 +50,23 @@
<!-- <view class="home_nar" v-if="showEbook"> --> <!-- <view class="home_nar" v-if="showEbook"> -->
<view class="home_nar"> <view class="home_nar">
<view class="hn_cl_tit shuguan" @click="onPageJump('../clock/index')"> <view class="hn_cl_tit shuguan" @click="onPageJump('../clock/index')">
<image src="../../static/icon/home1-1.png" mode="aspectFit"></image> <image src="../../static/icon/home1.png" mode="aspectFit"></image>
<!-- <text> </text> --> <!-- <text> </text> -->
</view> </view>
<view class="hn_cl_tit dianzishu" @click="onPageJump('../listen/home')"> <view class="hn_cl_tit dianzishu" @click="onPageJump('../listen/home')">
<image src="../../static/icon/home2-1.png" mode="aspectFit"></image> <image src="../../static/icon/home2.png" mode="aspectFit"></image>
<!-- <text> </text> --> <!-- <text> </text> -->
</view> </view>
<!-- <view class="hn_cl_tit" @click="onPageJump('../bookShop/bookShopIndex')"> --> <!-- <view class="hn_cl_tit" @click="onPageJump('../bookShop/bookShopIndex')"> -->
<view class="hn_cl_tit shuping" @click="onPageJump('../comments/commentsList')"> <view class="hn_cl_tit shuping" @click="onPageJump('../comments/commentsList')">
<image src="../../static/icon/home3-1.png" mode="aspectFit"></image> <image src="../../static/icon/home3.png" mode="aspectFit"></image>
<!-- <text> </text> --> <!-- <text> </text> -->
</view> </view>
<view class="hn_cl_tit chaoshi" @click="onPageJump('../talkBook/talkBook')"> <view class="hn_cl_tit chaoshi" @click="onPageJump('../talkBook/talkBook')">
<image src="../../static/icon/home4-1.png" mode="aspectFit"></image> <image src="../../static/icon/home4.png" mode="aspectFit"></image>
<!-- <text> </text> --> <!-- <text> </text> -->
</view> </view>
</view> </view>
@@ -127,14 +125,14 @@
</view> </view>
</view> --> </view> -->
<view class="head_line" style="background-color: #fff;"> <view class="head_line" style="margin-top: -20rpx;">
<b></b> <b></b>
<text>新书上市</text> <text>新书上市</text>
<!-- <i @click="onBookMore('New')">查看更多 ></i> --> <!-- <i @click="onBookMore('New')">查看更多 ></i> -->
</view> </view>
<view class="newBook"> <view class="newBook">
<scroll-view class="scroll-view_H " scroll-x="true" scroll-left="10" style="margin-top: 0 !important;"> <scroll-view class="scroll-view_H " scroll-x="true" scroll-left="10">
<view :class="['item']" v-for="(item,index) in newBookList" :key="index"> <view :class="['item']" v-for="(item,index) in newBookList" :key="index">
<view class="videoBox" @click="goDetail(item.productId)"> <view class="videoBox" @click="goDetail(item.productId)">
<image v-if="item.productImages != ''" :src="item.productImages" mode="scaleToFill"></image> <image v-if="item.productImages != ''" :src="item.productImages" mode="scaleToFill"></image>
@@ -729,23 +727,23 @@
.ProTabs{ .ProTabs{
// margin: 20rpx 0; // margin: 20rpx 0;
padding:0 20rpx; padding:0 20rpx;
text{padding: 8rpx 14rpx; font-size: 32rpx; display: inline-block; border-radius: 10rpx; overflow: hidden; text{padding: 12rpx 14rpx; font-size: 32rpx; border-radius: 10rpx; overflow: hidden;
// background-color: #eee; // background-color: #eee;
color: #55aa7f; margin-right: 10rpx;} color: #55aa7f; margin-right: 10rpx;}
text.cur{background-color:#55aa7f ; color: #fff;} text.cur{background-color:#55aa7f ; color: #fff;}
} }
// .newBook{margin-top: 10rpx;} .newBook{margin-top: 20rpx;}
.scroll-view_H{background-color: #fff;white-space: nowrap; .scroll-view_H{background-color: #fff;white-space: nowrap;
padding:10rpx ; margin-top: 12rpx;} padding:10rpx ; }
.scroll-view_H{ .scroll-view_H{
.item { padding: 10rpx; overflow: hidden; display: inline-block; padding-bottom: 0; .item { padding: 10rpx; overflow: hidden; display: inline-block;
width: 180rpx !important; margin-right: 20rpx; border-radius: 10rpx; width: 180rpx !important; margin-right: 20rpx; border-radius: 10rpx;
.videoBox{ .videoBox{
image{display: block; width:150rpx; image{display: block; width:150rpx;
height: 170rpx; height: 170rpx;
} }
} }
.bookName{display: block; margin-top: 6rpx; color: #666; font-size: 24rpx; white-space: nowrap; .bookName{display: block; margin-top: 20rpx; color: #666; font-size: 24rpx; white-space: nowrap;
overflow-x: hidden; overflow: hidden; overflow-x: hidden; overflow: hidden;
text-overflow: ellipsis;} text-overflow: ellipsis;}
} }
@@ -753,8 +751,7 @@
} }
.flexbox{display: flex;} .flexbox{display: flex;}
.head_line { .head_line {
padding-top: 8rpx; margin: 20rpx 0 0 0;
margin: 12rpx 0 0 0;
b { b {
@@ -796,8 +793,8 @@
image{width: 150rpx; height: 80rpx;} image{width: 150rpx; height: 80rpx;}
} }
.icon_hua{width: 100%; text-align: center; display: block; .icon_hua{width: 100%; text-align: center; display: block;
image{width: 150rpx; height: 150rpx; margin: 0 auto;} image{width: 150rpx; height: 150rpx; margin: 0 auto;}
} }
.search_box { margin: 0 auto; margin-top: 20rpx; align-items: center; .search_box { margin: 0 auto; margin-top: 20rpx; align-items: center;
width: calc(100% - 30rpx); margin-top: 0; width: calc(100% - 30rpx); margin-top: 0;
margin-bottom: 20rpx; margin-bottom: 20rpx;
@@ -831,10 +828,8 @@
font-size: 30rpx; color: #fff; font-size: 30rpx; color: #fff;
} }
} }
.home_nar { .home_nar {
background-color: #fff; margin: 10rpx 20rpx; justify-content: space-between;
padding: 20rpx 30rpx;
justify-content: space-between;
display: flex; display: flex;
color: #333; color: #333;
margin-bottom: 0; margin-bottom: 0;
@@ -844,18 +839,18 @@
// .chaoshi{background-color:#fff2d8 ; border: 2px solid #ede6d3; } // .chaoshi{background-color:#fff2d8 ; border: 2px solid #ede6d3; }
// .shuping{ background-color: #d6ffda; border: 2px solid #bae9bf;} // .shuping{ background-color: #d6ffda; border: 2px solid #bae9bf;}
// .shuguan{ background-color:#e3f9f9 ; border: 2px solid #d7eced; } // .shuguan{ background-color:#e3f9f9 ; border: 2px solid #d7eced; }
.hn_cl_tit { .hn_cl_tit { padding-bottom: 10rpx;
// width: 23%; // width: 23%;
width: 31%; width: 31%;
text-align: center; text-align: center;
border-radius: 20rpx ; border-radius: 20rpx ; padding-top: 10rpx;
// line-height: 110upx; // line-height: 110upx;
//display: flex; //display: flex;
align-content: center; align-content: center;
justify-content: center; justify-content: center;
image { image {
width:120rpx; width:90%;
height:120rpx; height:156rpx;
display: block; display: block;
margin: 0 auto; margin: 0 auto;
// margin: 0 20rpx; // margin: 0 20rpx;
@@ -1124,13 +1119,13 @@
.goods { .goods {
width: 100%; width: 100%;
margin:0 0 50rpx 0; background-color: #fff; margin:18rpx 0 50rpx 0;
.goodsItem { .goodsItem {
display: inline-block; display: inline-block;
width: 46%; width: 46%;
border-radius: 20rpx; border-radius: 20rpx;
padding: 25rpx; padding-bottom: 5rpx; padding: 25rpx 25rpx 20rpx 25rpx;
margin: 0 20rpx 20rpx 20rpx; margin: 0 20rpx 20rpx 20rpx;
background-color: #fff; background-color: #fff;
border: 1px solid #eee; border: 1px solid #eee;
@@ -1145,12 +1140,12 @@
.goodsName { .goodsName {
margin-top: 10rpx; margin-top: 10rpx;
font-size: 28rpx; font-size: 30rpx;
// font-weight: bold; // font-weight: bold;
} }
.goodsPrice { .goodsPrice {
font-size: 28rpx; font-size: 30rpx;
margin: 5rpx 0 0 3rpx; margin: 5rpx 0 0 3rpx;
display: flex; justify-content: space-between; display: flex; justify-content: space-between;
.price{ .price{

View File

@@ -89,8 +89,7 @@
<!-- <view class="nav_list" @click="onGoing()"> <!-- <view class="nav_list" @click="onGoing()">
<text>帮助与反馈11111</text> <text>帮助与反馈11111</text>
</view> --> </view> -->
<!-- <view class="nav_list" @click="newOnShare" v-if="isAndorid"> --> <view class="nav_list" @click="newOnShare" v-if="isAndorid">
<view class="nav_list" @click="newOnShare">
<text>分享App</text> <text>分享App</text>
</view> </view>
<view class="nav_list" @click="onPageJump('../peanut/aboutUs')"> <view class="nav_list" @click="onPageJump('../peanut/aboutUs')">
@@ -123,7 +122,7 @@
import $http from '@/config/requestConfig.js'; import $http from '@/config/requestConfig.js';
// import appShare, { closeShare } from '@/uni_modules/zhouWei-APPshare/js_sdk/appShare'; // import appShare, { closeShare } from '@/uni_modules/zhouWei-APPshare/js_sdk/appShare';
import { import {
mapState,mapMutations mapState
} from 'vuex'; } from 'vuex';
export default { export default {
data() { data() {
@@ -161,7 +160,6 @@
}, },
//方法 //方法
methods: { methods: {
...mapMutations(['setUserInfo']),
// 获得操作系统 // 获得操作系统
getOS(){ getOS(){
let oprateOs = '' let oprateOs = ''
@@ -280,7 +278,6 @@
// 退出登录 // 退出登录
signOut() { signOut() {
this.signShow = false this.signShow = false
this.setUserInfo({'token': null})
uni.reLaunch({ uni.reLaunch({
url: '../user/login' url: '../user/login'
}); });

View File

@@ -0,0 +1,630 @@
<template>
<view class="container">
<!-- 公共组件-每个页面必须引入1 -->
<public-module></public-module> -->
<z-nav-bar title="方药检索"></z-nav-bar>
<!-- <uni-search-bar @confirm="search" :focus="true" v-model="searchValue" @blur="blur" @focus="focus" @input="input"
@cancel="cancel" @clear="clear">
</uni-search-bar> -->
<view class="oneCateList flexbox">
<text :class="[curOneCateIndex == index ? 'cur' : '']" @click="setOneCateIndex(item,index)"
v-for="(item, index) in oneCateList" :key="item.id">{{item.title}}</text>
</view>
<view class="search_box">
<u-search placeholder="请输入方药名" @focus="focus" @clear="clear" v-model="searchValue" @input="input"
@blur="blur" @search="search"></u-search>
</view>
<view class="searchList" v-show="showSearchList">
<view class="itemBox" v-if="searchList.length > 0">
<view class="item" v-for="(item, index) in searchList" :key="index" @click="gotoDetail(item)">
{{item.title}}
</view>
</view>
<view v-else class="">
<u-divider text="未找到相关方药哦~"></u-divider>
</view>
</view>
<view v-show="!showSearchList" class="contentBox">
<view class="" v-if="false">
<!-- 常规格式 -->
<view class="grid twoCateList" v-if="twoCateList.length > 0">
<u-grid :col="3" border class="u-grid-list">
<u-grid-item v-for="(item, index) in twoCateList" :key="item.id"
@click="setTwoCateIndex(item, index)">
<view :class="['grid-text',curTwoCateIndex == index ? 'cur' : '']">{{item.title}}</view>
</u-grid-item>
</u-grid>
</view>
<view class="titleList">
<u-grid :col="3" v-if="titleList.length > 0">
<u-grid-item v-for="(item, index) in titleList" :key="item.id" @click="gotoDetail(item)">
<view :class="['titleItem']">{{item.title}}</view>
</u-grid-item>
</u-grid>
<u-divider v-else text="暂无方药数据哦~"></u-divider>
</view>
</view>
<view class="mode2" v-else>
<!-- 经方样式 -->
<scroll-view class="scroll-container" scroll-y="true" :scroll-into-view="toView"
scroll-with-animation="true">
<view class="address-book" v-for="(item, index) in jingfangList" :key="index" :id="item.id">
<view class="address-book-index">{{ item.id }}</view>
<view class="contact-container" v-for="(item, index) in item.data" :key="index">
<view class="contact-detail-container">
<view class="contact-name">{{ item.title }}</view>
</view>
</view>
</view>
</scroll-view>
<view class="letter-nav">
<view class="item" v-for="(item, index) in indexList" :key="index" @click="toSelectIndex(item)">
{{ item }}
</view>
</view>
</view>
</view>
<music-play :playData="playData"></music-play>
<z-navigation></z-navigation>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
export default {
data() {
return {
indexList: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
],
playData: {},
searchValue: '',
oneCateList: [], // 一级分类标题1
twoCateList: [], // 二级分类标题
titleList: [], // 方药标题
curOneCateIndex: 0, // 当前选中的一级分类
curTwoCateIndex: 0, // 当前选中的二级分类
searchList: [], // 搜索结果数组
showSearchList: false,
toView: '',
jingfangList: [{
id: 'A',
data: [{
title: '阿联酋迪拉姆',
},
{
title: '阿尔巴尼亚列克',
},
]
},
{
id: 'B',
data: [{
title: '孟加拉国塔卡',
},
{
title: '保加利亚列瓦',
},
]
},
{
id: 'C',
data: [{
title: '加拿大元',
},
{
title: '瑞士法郎',
},
]
},
{
id: 'D',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'E',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'F',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'G',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'H',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'I',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'J',
data: [{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
{
title: '丹麦克朗',
},
{
title: '多米尼加比索',
},
]
},
{
id: 'Z',
data: [{
title: 'z',
},
{
title: 'zzz',
},
]
}
], // 经方数组
}
},
onLoad() {
this.getCateList()
},
onHide() {
this.showSearchList = false
this.searchList = []
},
methods: {
toSelectIndex(item) {
this.toView = item
},
// 方药详情
gotoDetail(item) {
uni.navigateTo({
url: "./acupointDetail?id=" + item.id
})
},
// 获取方药名称
getTitles(id) {
$http.request({
url: "book/point/getPointsByCategoryId",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
// loadAnimate: 'none', // 请求加载动画
'pointCategoryId': id
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
}).then(res => {
console.log(res, '内容获取成功')
if (res.code == 0 && res.points.length > 0) {
this.titleList = res.points
} else {
this.titleList = []
}
}).catch(e => {
this.titleList = []
console.log(e)
})
},
setTwoCateIndex(item, index) {
let id = item.id
this.curTwoCateIndex = index
this.getTitles(id)
},
setOneCateIndex(item, index) {
let id = item.id
this.curOneCateIndex = index
this.curTwoCateIndex = 0
this.getTowCateList(id)
},
getTowCateList(id) {
$http.request({
url: "book/point/getPointCategoryByPid",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
loadAnimate: 'none', // 请求加载动画
'id': id
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
}).then(res => {
console.log(res, '二级分类获取成功')
if (res.code == 0 && res.category.length > 0) {
this.twoCateList = res.category
this.getTitles(this.twoCateList[0].id)
} else {
this.twoCateList = []
this.titleList = []
}
}).catch(e => {
this.twoCateList = []
this.titleList = []
console.log(e)
})
},
getCateList(id) {
id ? '' : id = 0
this.twoCateList = []
this.curTwoCateIndex = 0
// 0为获取顶级分类其他为搜索下级分类目前的逻辑顶级是写死的所以可能只会涉及到搜索第二级
$http.request({
url: "book/point/getPointCategoryByPid",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
loadAnimate: 'none', // 请求加载动画
'id': id
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
}).then(res => {
console.log(res, '脉穴分类获取成功')
if (res.code == 0 && res.category.length > 0) {
this.oneCateList = res.category
this.getTowCateList(this.oneCateList[0].id)
} else {
this.oneCateList = []
}
}).catch(e => {
this.oneCateList = []
console.log(e)
})
},
getSearch() {
$http.request({
url: "book/point/searchPointList",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {
loadAnimate: 'none', // 请求加载动画
'keywords': this.searchValue
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
}).then(res => {
console.log(res, '搜索结果')
if (res.code == 0 && res.points.length > 0) {
this.searchList = res.points
}
}).catch(e => {
// this.titleList = []
this.searchList = []
console.log(e)
})
},
search(res) {
console.log(res, 'res')
// uni.showToast({
// title: '搜索:' + res,
// icon: 'none'
// })
},
input(res) {
console.log('----input:', res)
if (res == '') {
this.searchList = []
} else {
this.getSearch()
}
},
clear(res) {
// uni.showToast({
// title: 'clear事件清除值为',
// icon: 'none'
// })
this.showSearchList = false
},
blur(res) {
if (res == '') {
this.showSearchList = false
this.searchList = []
} else {
this.getSearch()
}
},
focus(e) {
// uni.showToast({
// title: 'focus事件输出值为' + e.value,
// icon: 'none'
// })
this.showSearchList = true
},
// cancel(res) {
// uni.showToast({
// title: '点击取消,输入值为:' + res.value,
// icon: 'none'
// })
// }
},
onBackPress() {
// #ifdef APP-PLUS
plus.key.hideSoftKeybord();
// #endif
},
components: {
musicPlay
},
}
</script>
<style lang="scss" scoped>
.mode2 {
position: relative;
}
.address-book-index {
background-color: #f8f9fa; padding: 10rpx 0; text-indent: 2%;
}
.contact-img {
width: 20px;
height: 20px;
}
.scroll-container {
height: calc(100vh - 70rpx);
}
.letter-nav {
position: absolute;
right: 25rpx;
top: 40rpx;
.item {
font-size: 28rpx; margin-bottom: 10rpx;
}
}
.contact-container {
display: flex;
align-items: center;
margin: 2%;
}
.contact-detail-container {
margin-left: 2%;
.contact-name{
padding: 10rpx;
}
}
.searchList {
.item {
font-size: 28rpx;
padding: 20rpx;
border-bottom: 1px solid #dadbde;
}
}
.scroll-view_H {
background-color: #fff;
white-space: nowrap;
padding: 10rpx;
}
.oneCateList {
margin-bottom: 20rpx;
justify-content: space-between;
text {
text-align: center;
display: inline-block;
width: 32%;
padding: 20rpx 0;
font-size: 34rpx;
border-radius: 10rpx;
}
.cur {
background-color: #55aa7f;
color: #fff;
}
}
.contentBox {
.twoCateList {
font-size: 28rpx;
margin-top: 20rpx;
.grid-text {
padding: 30rpx 20rpx;
text-align: center;
}
.cur {
color: #55aa7f;
}
// .u-grid-list{border: 0.5px solid #dadbde;}
}
.titleList {
font-size: 26rpx;
margin-top: 20rpx;
padding: 10rpx;
border-radius: 10rpx;
background-color: #f8f9fa;
.titleItem {
padding: 20rpx 0;
}
}
}
.container {
padding: 10rpx;
min-height: 100vh;
overflow: hidden;
background-color: #fff;
}
.search_box {
margin: 0 auto;
overflow: hidden;
margin-top: 20rpx;
align-items: center;
width: calc(100% - 10px);
margin-top: 0;
margin-bottom: 40rpx;
.search {
height: 56upx;
display: flex;
width: 86%;
margin: 0 auto;
align-items: center;
padding: 0upx 40upx;
background-color: #fff;
border-radius: 20upx;
box-shadow: 0 0px 10px 1px #54a96633;
}
.prompt {
color: #838383;
font-size: 24rpx;
}
.icon_search {
background-image: url('@/static/icon/map_ic_search.png');
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
width: 36upx;
height: 36upx;
margin-right: 20upx;
}
}
.flexbox {
display: flex;
}
</style>

View File

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

View File

@@ -19,9 +19,9 @@
<u-form-item label="所在地区 :" prop=""> <u-form-item label="所在地区 :" prop="">
<view class="add_arrow" @click="addreShow=true">{{addressForm.areaidpathtext}}</view> <view class="add_arrow" @click="addreShow=true">{{addressForm.areaidpathtext}}</view>
<u-picker @cancel="addcancel" :show="addreShow" ref="uPicker" :columns="columns" keyName="UName" <u-picker @cancel="addcancel" :show="addreShow" ref="uPicker" :columns="columns" keyName="UName" -->
@confirm="addconfirm" @change="changeHandler" ></u-picker> @confirm="addconfirm" @change="changeHandler" ></u-picker>
</u-form-item> </u-form-item>
<u-form-item label="详细地址 :" prop="useraddress"> <u-form-item label="详细地址 :" prop="useraddress">
<u-input type="string" v-model="addressForm.useraddress" placeholder="小区楼栋/乡村名称" clearable <u-input type="string" v-model="addressForm.useraddress" placeholder="小区楼栋/乡村名称" clearable
border="surround" /> border="surround" />
@@ -50,7 +50,6 @@
</template> </template>
<script> <script>
import musicPlay from '@/components/music.vue' import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js'; import $http from '@/config/requestConfig.js';
import addressList1 from "@/static/json/address.json" import addressList1 from "@/static/json/address.json"
@@ -64,14 +63,14 @@
// indexp:0, // indexp:0,
// indexq:0, // indexq:0,
// indexc:0, // indexc:0,
playData:{}, playData: {},
addreShow: false, //是否显示 addreShow: false, //是否显示
columns: [], //省份数据显示,三级联动需要三维数组,展示初始数据 columns: [], //省份数据显示,三级联动需要三维数组,展示初始数据
columnData: [], //市数据 columnData: [], //市数据
columnDatas: [], //区地址 columnDatas: [], //区地址
switchTrue: true, switchTrue: true,
switchFalse: false, switchFalse: false,
addressChanged:false, // 地址修改标记 addressChanged: false, // 地址修改标记
navName: '', // 顶部导航栏标题 navName: '', // 顶部导航栏标题
provId: '', // 存储省id provId: '', // 存储省id
cityId: '', // 存储市id cityId: '', // 存储市id
@@ -91,6 +90,51 @@
isShowDel: false, isShowDel: false,
editIndex: 0, editIndex: 0,
deleteShow: false, deleteShow: false,
list: [{
value: 1,
label: '中国',
children: [{
value: 2,
label: '广东',
children: [{
value: 3,
label: '深圳'
},
{
value: 4,
label: '广州'
}
]
},
{
value: 5,
label: '广西',
children: [{
value: 6,
label: '南宁'
},
{
value: 7,
label: '桂林'
}
]
}
]
},
{
value: 8,
label: '美国',
children: [{
value: 9,
label: '纽约',
children: [{
value: 10,
label: '皇后街区'
}]
}]
}
],
rules: { rules: {
username: [{ username: [{
required: true, required: true,
@@ -137,10 +181,10 @@
this.getAddress() this.getAddress()
} }
this.initDataPicker() //初始化省份列表 this.initDataPicker() //初始化省份列表
}, },
onShow() { onShow() {
}, },
computed: { computed: {
...mapState(['userInfo']), ...mapState(['userInfo']),
@@ -148,113 +192,113 @@
onReady() { onReady() {
this.$refs.addForm.setRules(this.rules) this.$refs.addForm.setRules(this.rules)
}, },
components:{ components: {
musicPlay musicPlay
}, },
methods: { methods: {
// 三级联动 // 三级联动
initDataPicker() { initDataPicker() {
// console.log(this.addressList,'addressList') // console.log(this.addressList,'addressList')
// this.$http // this.$http
// .post('api/province/getProvince') // .post('api/province/getProvince')
// .then(res => { // .then(res => {
// if (res.code == 0) { // if (res.code == 0) {
// this.addressList = res.provinceEntity // this.addressList = res.provinceEntity
//此处的province主要用作数据的初始化即刚打开就需要进行展示的数据这个跟第一条省份数据相关我的第一条是北京市所以需要columns中的三维数组第一维度是省份数据数组第二维度是市数据数组第三维度是区数据数组 //此处的province主要用作数据的初始化即刚打开就需要进行展示的数据这个跟第一条省份数据相关我的第一条是北京市所以需要columns中的三维数组第一维度是省份数据数组第二维度是市数据数组第三维度是区数据数组
let province = []; //初始数据需要展示的省份 let province = []; //初始数据需要展示的省份
let province1 = [{ let province1 = [{
"cityId": this.addressList[0].cityList[0].cityId, "cityId": this.addressList[0].cityList[0].cityId,
"provId": this.addressList[0].cityList[0].provId, "provId": this.addressList[0].cityList[0].provId,
"cityName": this.addressList[0].cityList[0].cityName, "cityName": this.addressList[0].cityList[0].cityName,
"UName": this.addressList[0].cityList[0].cityName, "UName": this.addressList[0].cityList[0].cityName,
"createDate": this.addressList[0].cityList[0].createDate, "createDate": this.addressList[0].cityList[0].createDate,
"regionCode": this.addressList[0].cityList[0].regionCode, "regionCode": this.addressList[0].cityList[0].regionCode,
"countyList": this.addressList[0].cityList[0].countyList "countyList": this.addressList[0].cityList[0].countyList
}]; //因为第一个市北京市,所以就直接添加北京市下辖的直辖市了 也即初始数据需要展示的市,北京市只有一个市辖区 }]; //因为第一个市北京市,所以就直接添加北京市下辖的直辖市了 也即初始数据需要展示的市,北京市只有一个市辖区
let province2 = []; //初始数据需要展示的区域数据,也即是 北京市市辖区内的区 let province2 = []; //初始数据需要展示的区域数据,也即是 北京市市辖区内的区
for (let i = 0; i < this.addressList.length; i++) { for (let i = 0; i < this.addressList.length; i++) {
this.addressList[i].UName = this.addressList[i].provName this.addressList[i].UName = this.addressList[i].provName
if (this.addressList[i].cityList == null) { if (this.addressList[i].cityList == null) {
this.addressList[i].cityList = [{ this.addressList[i].cityList = [{
"cityId": this.addressList[i].provId, "cityId": this.addressList[i].provId,
"provId": this.addressList[i].provId, "provId": this.addressList[i].provId,
"cityName": this.addressList[i].provName, "cityName": this.addressList[i].provName,
"UName": this.addressList[i].provName, "UName": this.addressList[i].provName,
"createDate": this.addressList[i].createDate, "createDate": this.addressList[i].createDate,
"regionCode": this.addressList[i].regionCode, "regionCode": this.addressList[i].regionCode,
"countyList": [{ "countyList": [{
"countyId": this.addressList[i].provId, "countyId": this.addressList[i].provId,
"cityId": this.addressList[i].provId, "cityId": this.addressList[i].provId,
"countyName": this.addressList[i].provName, "countyName": this.addressList[i].provName,
"UName": this.addressList[i].provName, "UName": this.addressList[i].provName,
"createDate": this.addressList[i].createDate, "createDate": this.addressList[i].createDate,
"regionCode": this.addressList[i].regionCode "regionCode": this.addressList[i].regionCode
}] }]
}] }]
} else { } else {
for (let j = 0; j < this.addressList[i].cityList.length; j++) { for (let j = 0; j < this.addressList[i].cityList.length; j++) {
this.addressList[i].cityList[j].UName = this.addressList[i].cityList[j] this.addressList[i].cityList[j].UName = this.addressList[i].cityList[j]
.cityName .cityName
for (let k = 0; k < this.addressList[i].cityList[j].countyList.length; k++) { for (let k = 0; k < this.addressList[i].cityList[j].countyList.length; k++) {
this.addressList[i].cityList[j].countyList[k].UName = this.addressList[i] this.addressList[i].cityList[j].countyList[k].UName = this.addressList[i]
.cityList[j].countyList[k].countyName .cityList[j].countyList[k].countyName
}
}
}
province.push(this.addressList[i]);
} }
}
}
province.push(this.addressList[i]);
}
this.addressList[0].cityList[0].countyList.map(item => { this.addressList[0].cityList[0].countyList.map(item => {
province2.push(item); province2.push(item);
}); });
//省数据 因为要做数据初始化,所以是三维数组 //省数据 因为要做数据初始化,所以是三维数组
// 数据格式 [ [所有的省份数据:{},{}] , [第一个省份下的所有的市:{},{},{}] , [第一个市下面所有的区:{},{},{}] ] // 数据格式 [ [所有的省份数据:{},{}] , [第一个省份下的所有的市:{},{},{}] , [第一个市下面所有的区:{},{},{}] ]
this.columns.push(province); this.columns.push(province);
this.columns.push(province1); this.columns.push(province1);
this.columns.push(province2); this.columns.push(province2);
// console.log(6666666,this.columns) // console.log(6666666,this.columns)
// 市数据数组筛选address.json文件将全国所有省下面的市数据放入数组 // 市数据数组筛选address.json文件将全国所有省下面的市数据放入数组
// 格式[ [第一个省下面所有市,{},{},{}] , [第二个省下面所有市{},{},{}] , [第三个省下面所有市{},{},{}] ] 注意,以上的第一第二对应着 columns[0] 的数据 // 格式[ [第一个省下面所有市,{},{},{}] , [第二个省下面所有市{},{},{}] , [第三个省下面所有市{},{},{}] ] 注意,以上的第一第二对应着 columns[0] 的数据
this.addressList.map(item => { this.addressList.map(item => {
let city = []; let city = [];
item.cityList.map(item1 => { item.cityList.map(item1 => {
city.push(item1); city.push(item1);
}); });
this.columnData.push(city); this.columnData.push(city);
}); });
//区数据数组 //区数据数组
//数据格式: [ 所有省下面所有市的所有区 [ 第一个省下面所有市的区:[ [第一个省下面第一个市的所有区] , [第一个省下面第二个市的所有区] ,] , [ 第二个省下面所有市的区:[ [第二个省下面第一个市的所有区] , [第二个省下面第二个市的所有区] ,] ] //数据格式: [ 所有省下面所有市的所有区 [ 第一个省下面所有市的区:[ [第一个省下面第一个市的所有区] , [第一个省下面第二个市的所有区] ,] , [ 第二个省下面所有市的区:[ [第二个省下面第一个市的所有区] , [第二个省下面第二个市的所有区] ,] ]
let area = []; let area = [];
this.addressList.map((item, index) => { this.addressList.map((item, index) => {
let area1 = []; //省下面所有市的初始化 let area1 = []; //省下面所有市的初始化
item.cityList.map(item1 => { item.cityList.map(item1 => {
area = []; //市下面的区初始化 area = []; //市下面的区初始化
item1.countyList.map(item2 => { item1.countyList.map(item2 => {
area.push(item2); area.push(item2);
}); });
area1.push(area); // 每循环一个市,添加该市下面的所有区 area1.push(area); // 每循环一个市,添加该市下面的所有区
}); });
this.columnDatas.push(area1); // 每循环一个省,添加该省下面的所有市 this.columnDatas.push(area1); // 每循环一个省,添加该省下面的所有市
}); });
// }; // };
// }).catch(e => { // }).catch(e => {
// console.log(e,'e') // console.log(e,'e')
// }) // })
}, },
changeHandler(e) { //城市选择时触发 changeHandler(e) { //城市选择时触发
// console.log(e,'变化了',this.columnData, this.columnDatas) console.log(e, '变化了', this.columnData, this.columnDatas)
this.addressChanged = true this.addressChanged = true
const { const {
columnIndex, //当前选择的列,省 / 市 / 区 columnIndex, //当前选择的列,省 / 市 / 区
value, // 当前选择的数组内容 value, // 当前选择的数组内容
@@ -266,7 +310,7 @@
// 当第一列值发生变化时,变化第二列和第三列的值(省份变更,市和区跟着变更) // 当第一列值发生变化时,变化第二列和第三列的值(省份变更,市和区跟着变更)
if (columnIndex === 0) { // 判断当前变更的是省还是市还是区 if (columnIndex === 0) { // 判断当前变更的是省还是市还是区
// picker为选择器this实例变化第二列对应的选项 // picker为选择器this实例变化第二列对应的选项
picker.setColumnValues(1, this.columnData[ picker.setColumnValues(1, this.columnData[
index]); //设置市为该省下面的所有市index是当前省在省份数组的下标对应市数组中的下表就是 该省下面的所有市 的数据 index]); //设置市为该省下面的所有市index是当前省在省份数组的下标对应市数组中的下表就是 该省下面的所有市 的数据
picker.setColumnValues(2, this.columnDatas[index][0]); // 设置区域为该省下面第一个市下面的所有区域 picker.setColumnValues(2, this.columnDatas[index][0]); // 设置区域为该省下面第一个市下面的所有区域
@@ -278,7 +322,7 @@
}, },
addconfirm(e) { //点击确定按钮 addconfirm(e) { //点击确定按钮
// console.log(e,'选中的值') console.log(e, '选中的值')
this.addressChanged = true this.addressChanged = true
this.addreShow = false; this.addreShow = false;
this.addressForm.areaidpathtext = e.value[0].UName + '-' + e.value[1].UName + '-' + e.value[2].UName this.addressForm.areaidpathtext = e.value[0].UName + '-' + e.value[1].UName + '-' + e.value[2].UName
@@ -286,7 +330,7 @@
this.cityId = e.value[1].cityId this.cityId = e.value[1].cityId
this.countyId = e.value[2].regionCode this.countyId = e.value[2].regionCode
}, },
addcancel() { //点击取消按钮 addcancel() { //点击取消按钮
this.addreShow = false; this.addreShow = false;
}, },
@@ -314,7 +358,7 @@
// this.addressForm.consigneePhone = this.addressForm.userphone // this.addressForm.consigneePhone = this.addressForm.userphone
// this.addressForm.consigneeName = this.addressForm.username // this.addressForm.consigneeName = this.addressForm.username
// this.addressForm.regionCode = '' // this.addressForm.regionCode = ''
// // this.addressForm.userid = this.userInfo.id // // this.addressForm.userid = this.userInfo.id
// if(this.addressChanged){ // 如果修改过地址区域,就重新赋值,否则保持不变 // if(this.addressChanged){ // 如果修改过地址区域,就重新赋值,否则保持不变
// this.addressForm.areaidpath = `${this.provId}_${this.cityId}_${this.countyId}` // this.addressForm.areaidpath = `${this.provId}_${this.cityId}_${this.countyId}`
@@ -325,15 +369,15 @@
// let data = this.addressForm // let data = this.addressForm
let data = { let data = {
'id':this.addressForm.addressid, 'id': this.addressForm.addressid,
'detailAddress' : this.addressForm.useraddress, 'detailAddress': this.addressForm.useraddress,
'regionCode':this.countyId, 'regionCode': this.countyId,
'userId':this.userInfo.id, 'userId': this.userInfo.id,
'consigneePhone':this.addressForm.userphone, 'consigneePhone': this.addressForm.userphone,
'consigneeName': this.addressForm.username, 'consigneeName': this.addressForm.username,
'isDefault':this.addressForm.isDafault ? 1 : 0 'isDefault': this.addressForm.isDafault ? 1 : 0
} }
console.log(data,'保存参数') console.log(data, '保存参数')
$http.request({ $http.request({
url: link_add, url: link_add,
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档 method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
@@ -375,16 +419,17 @@
.then(res => { .then(res => {
if (res.code == 0) { if (res.code == 0) {
this.addressForm = { this.addressForm = {
'useraddress':res.list[this.editIndex].detailAddress, 'useraddress': res.list[this.editIndex].detailAddress,
'userphone':res.list[this.editIndex].consigneePhone, 'userphone': res.list[this.editIndex].consigneePhone,
'username':res.list[this.editIndex].consigneeName, 'username': res.list[this.editIndex].consigneeName,
'isdefault':res.list[this.editIndex].isDefault, 'isdefault': res.list[this.editIndex].isDefault,
'isDafault':res.list[this.editIndex].isDefault == 1 ? true : false, 'isDafault': res.list[this.editIndex].isDefault == 1 ? true : false,
'areaidpathtext':res.list[this.editIndex].province +'-'+ res.list[this.editIndex].city +'-'+ res.list[this.editIndex].county 'areaidpathtext': res.list[this.editIndex].province + '-' + res.list[this
,'addressid':res.list[this.editIndex].id .editIndex].city + '-' + res.list[this.editIndex].county,
'addressid': res.list[this.editIndex].id
} }
this.countyId = res.list[this.editIndex].regionCode this.countyId = res.list[this.editIndex].regionCode
// this.addressForm = res.list[this.editIndex] // this.addressForm = res.list[this.editIndex]
if (this.addressForm.isdefault == 1) { if (this.addressForm.isdefault == 1) {
this.addressForm.isDafault = true this.addressForm.isDafault = true
} }
@@ -399,15 +444,15 @@
this.deleteShow = false this.deleteShow = false
this.$http this.$http
.get(`book/userAddress/delete?id=${this.addressForm.addressid}`) .get(`book/userAddress/delete?id=${this.addressForm.addressid}`)
.then(res => { .then(res => {
if (res.code == 0) { if (res.code == 0) {
uni.showToast({ uni.showToast({
title: '地址删除成功', title: '地址删除成功',
duration: 1000, duration: 1000,
}); });
uni.navigateBack() uni.navigateBack()
} }
}) })
}, },
}, },
@@ -416,10 +461,19 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.flexbox{display: flex;} .flexbox {
.selectAdd{ justify-content: space-between; display: flex;
.addItem{ display: block;width: 30%}
} }
.selectAdd {
justify-content: space-between;
.addItem {
display: block;
width: 30%
}
}
.add_arrow { .add_arrow {
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
@@ -495,4 +549,4 @@
background-image: linear-gradient(90deg, #bf0c0c 0%, #95110c 100%) background-image: linear-gradient(90deg, #bf0c0c 0%, #95110c 100%)
} }
} }
</style> </style>

View File

@@ -15,31 +15,26 @@
<!-- <view class="title" :class="{ active: type == 2000 }" @click="type = 2000">验证码登录/注册</view> <!-- <view class="title" :class="{ active: type == 2000 }" @click="type = 2000">验证码登录/注册</view>
<view class="title" :class="{ active: type == 1000 }" @click="type = 1000">密码登录</view> --> <view class="title" :class="{ active: type == 1000 }" @click="type = 1000">密码登录</view> -->
</view> </view>
<view class="flexbox" style=" margin-top: 20rpx;"> <view class="input_tit">手机号</view>
<view class="input_tit" style="margin-top: 0; margin-right: 20rpx;">手机号</view>
<view class="quhao">
<uni-data-select class="myselect" placeholder="选择区号" v-model="quCode" :localdata="quCodeList" style="height: 30rpx !important;"
@change="quChange"></uni-data-select>
</view>
</view>
<!-- 带区号 --> <!-- 带区号 -->
<view class="flexbox " style="margin:36rpx 0; justify-content: space-between;"> <!-- <view class="flexbox " style="margin:36rpx 0; justify-content: space-between;">
<view class="triangle borderBottom phoneNumberInput" style="width: 150rpx;"> <view class="quhao">
<input type="number" v-model="quCode" placeholder="区号" placeholder-class="grey" /> <uni-data-select
placeholder="区号" model="quCode"
:localdata="quCodeList"
@change="quChange"
></uni-data-select>
</view> </view>
<view class="triangle borderBottom phoneNumberInput" <view class="triangle borderBottom phoneNumberInput" :clasfs="[type == 1000 ? 'left_triangle': 'right_triangle']">
:clasfs="[type == 1000 ? 'left_triangle': 'right_triangle']"> <input type="number" v-model="phone" @input="onInput" placeholder="请输入您的手机号" placeholder-class="grey" />
<input type="number" v-model="phone" @input="onInput" placeholder="请输入您的手机号"
placeholder-class="grey" />
</view> </view>
</view> </view> -->
<!-- 不带区号 --> <!-- 不带区号 -->
<!-- <view class="triangle borderBottom phoneNumberInput input_box" <view class="triangle borderBottom phoneNumberInput input_box"
:clasfs="[type == 1000 ? 'left_triangle': 'right_triangle']"> :clasfs="[type == 1000 ? 'left_triangle': 'right_triangle']">
<input type="number" v-model="phone" @input="onInput" placeholder="请输入您的手机号" placeholder-class="grey" /> <input type="number" v-model="phone" @input="onInput" placeholder="请输入您的手机号" placeholder-class="grey" />
</view> --> </view>
<view class="input_tit" v-if="type == 1000">密码</view> <view class="input_tit" v-if="type == 1000">密码</view>
<view class="input_box" v-if="type == 1000"> <view class="input_box" v-if="type == 1000">
@@ -195,8 +190,16 @@
Content: '' Content: ''
}, },
quShow: false, quShow: false,
quCodeList: [], // 国家区域码 quCodeList: [{
quCode: 86, value: '1',
text: '江'
},
{
value: '2',
text: '湖'
}
],
quCode: null,
}; };
}, },
@@ -213,43 +216,11 @@
// #endif // #endif
}, },
//页面显示 //页面显示
onShow() { onShow() {},
this.getCountyCode()
},
//方法 //方法
methods: { methods: {
...mapMutations(['setUserInfo']), ...mapMutations(['setUserInfo']),
...mapMutations(['setHealthMes']), ...mapMutations(['setHealthMes']),
// 获取国家区域编码
getCountyCode() {
$http.request({
url: "book/baseArea/getAllBaseArea",
method: "POST", // POST、GET、PUT、DELETE具体说明查看官方文档
data: {},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
// console.log(res,'区域码')
if (res.code == 0 && res.baseAreas.length > 0) {
// this.quCodeList = res.baseAreas
this.quCodeList = res.baseAreas.map(item => {
let obj = {
'text': item.title,
'value': item.code,
}
return obj
})
// console.log('改变格式后',this.quCodeList)
} else {
this.quCodeList = []
// this.totalPage = 0
}
}).catch(e => {
console.log(e, 'e')
});
},
quChange(e) { quChange(e) {
console.log(e, 'e') console.log(e, 'e')
}, },
@@ -323,15 +294,12 @@
}); });
return; return;
} }
if (this.quCode == null || this.quCode == 86) { // 如果没选择国家code默认是中国大陆 if (!this.$base.phoneRegular.test(this.phone)) {
if (!this.$base.phoneRegular.test(this.phone)) { uni.showToast({
uni.showToast({ title: '手机格式不正确',
title: '手机格式不正确', icon: 'none'
icon: 'none' });
}); return;
return;
}
console.log(this.quCode, '选择的区段')
} }
if (!this.agree) { if (!this.agree) {
uni.showToast({ uni.showToast({
@@ -344,7 +312,6 @@
this.$http this.$http
.get('book/user/sms/sendcode', { .get('book/user/sms/sendcode', {
phone: this.phone, phone: this.phone,
areaCode: this.quCode,
type: 2000 type: 2000
}) })
.then(res => { .then(res => {
@@ -372,14 +339,12 @@
}); });
return; return;
} }
if (this.quCode == null || this.quCode == 86) { if (!this.$base.phoneRegular.test(this.phone)) {
if (!this.$base.phoneRegular.test(this.phone)) { uni.showToast({
uni.showToast({ title: '手机格式不正确',
title: '手机格式不正确', icon: 'none'
icon: 'none' });
}); return;
return;
}
} }
let httpData = {}; let httpData = {};
if (this.type == 2000) { if (this.type == 2000) {
@@ -670,10 +635,10 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import '@/style/mixin.scss'; @import '@/style/mixin.scss';
.myselect{height: 50rpx !important;}
.phoneNumberInput { .phoneNumberInput {
width: calc(100% - 160rpx); width: calc(100% - 130rpx);
// width: 100%; width: 100%;
height: 67rpx; height: 67rpx;
input { input {
@@ -691,8 +656,7 @@
} }
.quhao { .quhao {
height: 50rpx; width: 120rpx;
width: 180rpx;
} }
.highlight { .highlight {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB