init version kelfy-mini for new gitea

This commit is contained in:
terry.wang
2025-11-13 13:38:59 +08:00
commit 493fa4f1e1
763 changed files with 55626 additions and 0 deletions

372
pages/kfdjMgr/kfdjMgr.js Normal file
View File

@@ -0,0 +1,372 @@
const util = require('../../utils/util.js');
const api = require('../../config/api.js');
const user = require('../../utils/user.js');
//获取应用实例
const app = getApp();
Page({
data: {
isShow: false, //控制确认学生信息对话框
stulist: {},
xyrwList: [],
rwname:'',
rwempty: 0,
batchno: '',
nationId: '',
list:[],
loadingHidden: true,
flag: false,
openid: ''
},
isValidID:function (id) {
if (!/^\d{17}(\d|X)$/.test(id)) return false; // 检查格式是否正确
// 计算第18位校验码
const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
const checkCode = '10X98765432';
let sum = 0;
for (let i = 0; i < id.length - 1; i++) {
sum += parseInt(id[i], 10) * weights[i];
}
sum = sum % 11;
// 验证第18位校验码是否正确
return checkCode[sum] === id[17].toUpperCase();
},
btnAdd: function(){
if(this.isValidID(this.data.nationId) == false){
wx.showToast({
title: '身份证不合法!',
icon:'success',
duration: 1000
})
this.setData({ nationId: '', });
return;
}
//根据身份证号和批次号查询学生信息
var that = this;
util.request(api.kfstudentByInit, {
nationid: that.data.nationId,
batchno: this.data.batchno
})
.then(function(res) {
if (res.code === 0) {
console.log(res.data);
if(res.data == null){
wx.showToast({
title: '无此康复人员',
icon:'error'
})
}else{
that.setData({
stulist: res.data,
isShow: true
});
}
}
});
},
onCancelStudent: function(){
},
onConfirmStudent: function(){
let that = this;
let cardNum = this.data.stulist.nationId;
// let type = this.data.type
let hzxm =this.data.stulist.name;
let sex = this.getSexFromIdCard(this.data.stulist.nationId)
let age = this.calculateAge(this.data.stulist.nationId)
let userid = this.data.stulist.id;
// let classid = this.data.xytjinfo.classid;
let classname = this.data.stulist.classname;
let schoolname = this.data.stulist.schoolname;
let sqName = this.data.stulist.sqName;
let cardtype = "";
console.log(hzxm)
console.log(cardNum)
console.log(sex)
console.log(age)
console.log(userid)
//家长确认学生信息,进行建档和关联就诊人操作
util.requestPost(api.kfcreatestudent, {
openid: app.globalData.openId,
name: hzxm,
deptId: userid,
sex: sex,
age: age,
className: classname,
schoolName: schoolname,
sqName: sqName,
nationId: cardNum
})
.then(function(res) {
console.log(res);
if (res.code === 0) {
console.log("createstudent res:");
console.log(res);
console.log("createstudent resdata:");
console.log(res.data);
cardtype = res.data;
// if(type == 0)
// {
// // app.globalData.gdefaultflag = type;
// app.globalData.gname = hzxm;
// app.globalData.gsex = sex;
// app.globalData.gage = age;
// // app.globalData.gdeptId = classid;
// app.globalData.gclassName = classname;
// app.globalData.gschoolName = schoolname;
// app.globalData.gnationId = cardNum;
// }
//自动建档并关联到父openid
that.linkUser(hzxm, cardNum, cardtype);
wx.showToast({
title: '添加成功',
icon:'success'
})
setTimeout(item => {
wx.navigateBack({
delta: 1 //返回上一级页面
})
},1000)
}
else{
wx.showToast({
title: res.msg,
icon:'error'
})
}
});
},
linkUser:function(gname, xPatid, cardtype){
//第二步 关联到父openid
console.log(xPatid, 'usrPatid');
wx.request({
url:'https://fy.btlsoln.com:8443/patientBindWXUser?cardno&cardtype&openid&relate&type&hzxm',
method:"GET",
data:{
cardno: xPatid,
cardtype: cardtype,
relate: '1', //都是子女
type: '1', //不当做默认就诊人
openid: app.globalData.openId,
hzxm: gname
},
header: {
'content-type': 'application/json'
},
success: (res)=> {
if(res.data.errCode == 0){
wx.showToast({
title: '关联就诊人成功',
icon:'success'
})
return true;
}else{
wx.showToast({
title: "关联就诊人失败",
icon:'error'
})
return false;
}
}
})
},
//获取下园任务列表
getXyrwList: function() {
var that = this;
util.request(api.kfxyrwinfo, {
})
.then(function(res) {
if (res.code === 0) {
console.log("xyrwinfo resdata:");
console.log(res.data);
if(res.data.length == 0){
that.setData({
rwempty: 0
});
app.globalData.hasXyrw = false;
}else{
that.setData({
rwempty: 1,
xyrwList: res.data,
rwname: res.data[0].batchName,
batchno: res.data[0].batchno
});
app.globalData.hasXyrw = true;
that.getPerList(res.data[0].batchno);
}
}
});
},
//取列表
getPerList: function(resbatchno){
let that = this;
util.request(api.kfstudentByparent, {
openid: app.globalData.openId,
batchno: resbatchno
})
.then(function(res) {
if (res.code === 0) {
console.log("list res:");
console.log(res);
console.log("list resdata:");
console.log(res.data);
that.setData({
list: res.data
});
console.log("list length", that.data.list.length);
if(that.data.list.length == 0 ){
that.setData({
loadingHidden: false,
flag: false
});
}else{
//有体检人,取出默认体检人
var filterNum = that.data.list.filter(function(person,index,arrs){
return person.defaultflag==0
});
console.log("fileter");
console.log(filterNum);
that.setData({
loadingHidden: true,
flag: true
});
}
that.setData({
loadingHidden: true
});
}
})
},
naviToAdd(){
let state = 0
wx.navigateTo({
url: '/pages/studentMsgDel/studentMsgDel?state='+state,
})
},
naviToDet(e){
return;
console.log(e.currentTarget.dataset.item)
let item = e.currentTarget.dataset.item
let idCard = item.nationId
let trueName = item.name
let type = item.defaultflag
let sex = item.sex
let age = item.age
let classid = item.deptId
let classname = item.className
let schoolname = item.schoolName
let state = 1
var id = 0;
id = item.id
wx.navigateTo({
url: '/pages/studentMsgDel/studentMsgDel?state='+state+'&classid='+classid+'&classname='+classname+'&schoolname='+schoolname+'&idCard='+idCard+'&trueName='+trueName+'&type='+type +'&sex='+sex +'&age='+age +'&id='+id,
})
},
naviToXytj(){
wx.navigateTo({
url: '/pages/xytj/xytj',
})
},
onChange({ detail }) {
this.setData({ checked: detail });
},
onShareAppMessage: function() {
},
onPullDownRefresh() {
},
onLoad: function(options) {
// 页面初始化 options为页面跳转所带来的参数
this.getXyrwList();
this.setData({
loadingHidden: false,
})
},
onReady: function() {
// 页面渲染完成
wx.setNavigationBarTitle({
title: "管理康复人员"
})
},
onShow: function() {
// 页面显示
this.getPerList()
this.setData({
loadingHidden: false,
})
},
onHide: function() {
// 页面隐藏
},
onUnload: function() {
// 页面关闭
},
// 从身份证号码中提取性别信息
getSexFromIdCard: function(idCard){
var org_gender = idCard.substring(16, 17);
// var sex = org_gender % 2 == 1 ? "男" : "女";
var sex = org_gender % 2 == 1 ? 1 : 2;
return sex; // 这里假设身份证号码长度为18位并按照标准格式存放
},
// 从身份证号码中提取生日信息格式为YYYYMMDD
getBirthdayFromIdCard: function(idCard){
return idCard.substring(6, 14); // 这里假设身份证号码长度为18位并按照标准格式存放
},
// 将字符串类型的生日转换成Date对象
convertToDateObject: function(birthdayString){
const year = birthdayString.substr(0, 4);
const month = birthdayString.substr(4, 2);
const day = birthdayString.substr(6, 2);
return new Date(`${year}-${month}-${day}`);
},
// 计算年龄函数
calculateAge: function(idCard){
// 获取当前日期
const currentDate = new Date();
const birthdate = this.convertToDateObject(this.getBirthdayFromIdCard(idCard));
let age;
if (currentDate >= birthdate && !isNaN(currentDate)) {
age = Math.floor((currentDate - birthdate) / (365 * 24 * 60 * 60 * 1000));
} else {
console.error('无效的身份证号码或者未知错误');
}
return age || '';
}
})

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

139
pages/kfdjMgr/kfdjMgr.wxml Normal file
View File

@@ -0,0 +1,139 @@
<!--index.wxml-->
<view class="wrap">
<view class="service">
<icon></icon>
<text>当前批次</text>
</view>
<view class = "rwempty" wx:if = "{{ rwempty }}" >{{ rwname }}</view>
<view class = "rwempty" wx:if = "{{ !rwempty }}" >当前无任务</view>
</view>
<view class="main">
<view class="content">
<loading hidden="{{loadingHidden}}">加载中...</loading>
<view wx:if="{{loadingHidden}}">
<view wx:if="{{flag == true}}">
<view class="studentitem" wx:for="{{list}}" wx:key="item" data-item="{{item}}" bindtap="naviToDet">
<view class="up">
<view class="name">{{item.name}}</view>
<view class="msg">
<view class="t1"></view>
<view class="icon" wx:if="{{item.defaultflag == 0}}">
<view class="mr">默认体检人</view>
</view>
</view>
</view>
<view class="down">
<view>{{item.nationId}}</view>
</view>
</view>
</view>
<view wx:else="{{flag == false}}" class="zw">暂无康复人员信息,请将康复人员的身份证号输入下方,再次确认康复人员的身份信息!</view>
<view class="mobileItem">
<view class="left">身份证号:</view>
<view class="inputf">
<van-field
input-class="my-input-class"
model:value="{{ nationId }}"
placeholder="请输入康复人员的身份证号"
maxlength = "18"
type = "idcard"
/>
</view>
</view>
<view class="btn" bindtap="btnAdd">添加康复人员</view>
<!-- <view class="btn" bindtap="naviToXytj" >返回下园体检</view> -->
<van-dialog
use-slot
title="康复人员信息"
bind:confirm="onConfirmStudent"
bind:cancel="onCancelStudent"
id="van-dialog"
show-cancel-button
show="{{ isShow }}"
>
<view class="wrapStu" >
<view class="itemStu" >
<view class="leftStu">住址:</view>
<view class="rightStu">
{{ stulist.schoolName }}
</view>
</view>
<!-- <view class="itemStu" >
<view class="leftStu">年级:</view>
<view class="rightStu">
{{ stulist.sqName }}
</view>
</view> -->
<!-- <view class="itemStu" >
<view class="leftStu">班级:</view>
<view class="rightStu">
{{ stulist.className }}
</view>
</view> -->
<view class="itemStu" >
<view class="leftStu">姓名:</view>
<view class="rightStu">
{{ stulist.name }}
</view>
</view>
<view class="itemStu" >
<view class="leftStu">身份证:</view>
<view class="rightStu">
{{ stulist.nationId }}
</view>
</view>
</view>
<!-- <view class="stulist" >
<view class="confirmItem" >
<view class="confirmLeft">学校:</view>
<view class="input">
{{ stulist.schoolName }}
</view>
</view>
<view class="confirmItem" >
<view class="confirmLeft">年级:</view>
<view class="input">
{{ stulist.sqName }}
</view>
</view>
<view class="confirmItem" >
<view class="confirmLeft">班级:</view>
<view class="input">
{{ stulist.className }}
</view>
</view>
<view class="confirmItem" >
<view class="confirmLeft">姓名:</view>
<view class="input">
{{ stulist.name }}
</view>
</view>
<view class="confirmItem" >
<view class="confirmLeft">身份证号码:</view>
<view class="input">
{{ stulist.nationId }}
</view>
</view>
</view> -->
</van-dialog>
</view>
</view>
</view>
<!-- 确保信息显示 -->
<!-- <view class="area">
<view class="area-header">
<view class="area-header-cont">
</view>
</view>
</view> -->
<!-- <view class="tips" >结算处理中,请稍后...</view> -->
<!-- <view class="bottom-btn">
<view class="c" bindtap="naviToXytj" >返回下园体检</view>
</view> -->

959
pages/kfdjMgr/kfdjMgr.wxss Normal file
View File

@@ -0,0 +1,959 @@
/* pages/userMgr/userMgr.wxss */
.main{
margin: 30rpx 0;
width: 750rpx;
}
.content{
width: 90%;
margin: 0 auto;
}
.mobileItem{
height: 120rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1rpx solid #f8f8f8;
}
.left{
height: 100%;
width: 200rpx;
font-size: 35rpx;
color: #333;
line-height: 120rpx;
/* border: 1rpx solid #6306f8; */
}
.inputf{
flex: 1;
font-size: 35rpx;
color: #333;
line-height: 120rpx;
/* border: 1rpx solid #0af1a4; */
}
.input{
flex: 1;
font-size: 30rpx;
color: #333;
line-height: 120rpx;
/* border: 1rpx solid #f10c0c; */
margin-left: 30rpx;
}
.confirmItem{
height: 120rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1rpx solid #0e0d0d;
}
.confirmLeft{
height: 100%;
width: 200rpx;
font-size: 30rpx;
color: #333;
line-height: 120rpx;
margin-left: 30rpx;
align-items: left;
/* border: 1rpx solid #6306f8; */
}
.tips{
display: flex;
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
height: 300rpx; /* 容器高度,根据需要设置 */
font-size: 40rpx;
}
.studentitem{
height: 200rpx;
width: 100%;
border-radius: 5rpx;
margin: 40rpx auto;
box-shadow:0px 0px 5rpx #e2e2e2;
background: rgba(245,249,255);
padding: 30rpx;
box-sizing: border-box;
}
.zw{
height: 250rpx;
width: 100%;
border-radius: 5rpx;
margin: 40rpx auto;
box-shadow:0px 0px 15rpx #e2e2e2;
padding:0 30rpx;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
font-size: 33rpx;
color: #666;
}
.up{
height: 80rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.name{
font-size: 35rpx;
height: 80rpx;
padding-right: 30rpx;
line-height: 80rpx;
color: #333;
}
.msg{
flex: 1;
height: 70rpx;
line-height: 80rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.t1{
height: 50rpx;
width: 130rpx;
text-align: center;
line-height: 50rpx;
font-size:33rpx;
border-radius: 25rpx;
/* color: rgba(45,135,255);
background: rgba(226,237,254); */
}
.mr{
font-size: 30rpx;
color: #666;
}
.down{
height: 80rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
line-height: 80rpx;
font-size: 30rpx;
color: #666;
}
.icon{
height: 50rpx;
display: flex;
align-items: center;
}
.mr{
font-size: 33rpx;
color: #333;
margin-right: 15rpx;
}
.sw{
margin-top: 5rpx;
}
.btn{
height: 100rpx;
margin-top: 150rpx;
margin-bottom: 40rpx;
width: 100%;
background: rgba(0,110,255);
color: #fff;
text-align: center;
line-height: 100rpx;
border-radius: 10rpx;
font-size: 35rpx;
letter-spacing: 5rpx;
}
.popsearch{
margin-right: 15rpx;
}
.pickempty{
font-size: 35rpx;
font-weight: bold;
display: flex;
justify-content: center;
margin-top: 80rpx;
}
.btnview{
justify-content: center;
display: flex;
margin-top: 80rpx;
}
.btnClass {
background: #4bc107 !important;
color: #fff !important;
}
.banner{
margin-bottom: 30rpx;
}
.slide-image{
width: 100%;
height: 100%;
}
.service{
font-size: 35rpx;
font-weight: bold;
display: flex;
align-items: center;
margin-top: 20rpx;
}
.service icon{
width: 40rpx;
height: 15rpx;
margin-right: 20rpx;
background-color: #50CEBB;
border-radius: 15rpx;
}
.wrap{
height: 100%;
width: 100%;
padding: 0 30rpx;
box-sizing: border-box;
/* border: 1rpx solid #0af1a4; */
}
.rwempty{
font-size: 35rpx;
font-weight: bold;
display: flex;
justify-content: center;
margin-top: 10rpx;
}
.Stulist{
height: 600rpx;
width: 500rpx;
margin-left: 50rpx;
margin-top: 30rpx;
/* line-height: 120rpx; */
/* border: 20rpx solid #030303; */
}
.itemStu{
height: 120rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 2rpx solid #e2e2e2;
}
.leftStu{
width: 30%;
font-size: 30rpx;
color: #666;
text-align-last:justify;
text-align:justify;
text-justify:distribute-all-lines;
}
.rightStu{
width: 66%;
height: 100%;
font-size: 30rpx;
color: #333;
display: flex;
align-items: center;
}
.wrapStu{
width: 90%;
border-radius: 5rpx;
margin: 40rpx auto;
box-shadow:0px 0px 15rpx #e2e2e2;
padding:0 30rpx;
box-sizing: border-box;
}
.my-input-class {
border-radius: 8px; /* 增加圆角边框 */
/* border: 1px solid rgb(248, 21, 21); */
font-size: 35rpx;
}
.banner image {
width: 100%;
height: 417rpx;
}
.banner video {
height: 100%;
width: 100%;
}
.m-menu {
background: #fff;
display: flex;
align-items: center;
flex-wrap: wrap;
padding-bottom: 0rpx;
padding-top: 25rpx;
}
.m-menu .item {
width: 150rpx;
height: 126rpx;
}
.m-menu image {
display: block;
width: 58rpx;
height: 58rpx;
margin: 0 auto;
margin-bottom: 12rpx;
}
.m-menu text {
display: block;
font-size: 24rpx;
text-align: center;
margin: 0 auto;
line-height: 1;
color: #333;
}
.a-section {
width: 750rpx;
height: auto;
overflow: hidden;
background: #fff;
color: #333;
margin-top: 20rpx;
}
.a-section .h {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
height: 130rpx;
}
.a-section .h .txt {
padding-right: 30rpx;
background-size: 16.656rpx 27rpx;
display: inline-block;
height: 36rpx;
font-size: 33rpx;
line-height: 36rpx;
}
.loc_light_icon {
color: #000;
font-size: 10px;
line-height: 30px;
text-align: center;
margin-top: 10px;
margin-bottom: 5px;
background-clip: content-box;
word-wrap:break-word;
background-color: #fff;
}
.loc_light {
color: #000;
font-size: 10px;
line-height: 10px;
text-align: left;
margin-bottom: 5px;
background-clip: content-box;
word-wrap:break-word;
background-color: #fff;
}
.dark,
.light {
color: #000;
font-size: 13px;
line-height: 18px;
text-align: left;
margin-bottom: 5px;
margin-top: 5px;
background-clip: content-box;
word-wrap:break-word;
}
.dark {
background-color: #39a9ed;
}
.light {
background-color: #fff;
}
.a-location .b{
width: 750rpx;
height: auto;
overflow: hidden;
position: relative;
}
.a-brand .b {
width: 750rpx;
height: auto;
overflow: hidden;
position: relative;
}
.a-brand .wrap {
position: relative;
}
.a-brand .img {
position: absolute;
left: 0;
top: 0;
}
.a-brand .mt {
position: absolute;
z-index: 2;
padding: 27rpx 31rpx;
left: 0;
top: 0;
}
.a-brand .mt .brand {
display: block;
font-size: 33rpx;
height: 43rpx;
color: #fff;
}
.a-brand .mt .price, .a-brand .mt .unit {
font-size: 25rpx;
color: #fff;
}
.a-brand .item-1 {
float: left;
width: 375rpx;
height: 252rpx;
overflow: hidden;
border-top: 1rpx solid #fff;
margin-left: 1rpx;
}
.a-brand .item-1:nth-child(2n+1) {
margin-left: 0;
width: 374rpx;
}
.a-brand .item-1 .img {
width: 375rpx;
height: 253rpx;
}
.a-coupon {
width: 750rpx;
height: auto;
overflow: hidden;
}
.a-coupon .b .item {
position: relative;
height: 200rpx;
width: 700rpx;
background: linear-gradient(to right, #cfa568, #e3bf79);
margin-bottom: 10rpx;
margin-left: 30rpx;
margin-right: 30rpx;
padding-top: 30rpx;
}
.a-coupon .b .tag {
height: 32rpx;
background: #a48143;
padding-left: 16rpx;
padding-right: 16rpx;
position: absolute;
left: 20rpx;
color: #fff;
top: 20rpx;
font-size: 20rpx;
text-align: center;
line-height: 32rpx;
}
.a-coupon .b .content {
margin-top: 24rpx;
margin-left: 40rpx;
display: flex;
margin-right: 40rpx;
flex-direction: row;
}
.a-coupon .b .content .left {
flex: 1;
}
.a-coupon .b .discount {
font-size: 50rpx;
color: #b4282d;
}
.a-coupon .b .min {
color: #fff;
}
.a-coupon .b .content .right {
width: 400rpx;
}
.a-coupon .b .name {
font-size: 44rpx;
color: #fff;
margin-bottom: 14rpx;
}
.a-coupon .b .desc {
font-size: 24rpx;
color: #fff;
}
.a-coupon .b .time {
font-size: 24rpx;
color: #fff;
line-height: 30rpx;
}
.a-groupon {
width: 750rpx;
height: auto;
overflow: hidden;
}
.a-groupon .b .item {
border-top: 1px solid #d9d9d9;
margin: 0 20rpx;
height: 244rpx;
width: 710rpx;
}
.a-groupon .b .img {
margin-top: 12rpx;
margin-right: 12rpx;
float: left;
width: 220rpx;
height: 220rpx;
}
.a-groupon .b .right {
float: left;
height: 244rpx;
width: 476rpx;
display: flex;
flex-flow: row nowrap;
}
.a-groupon .b .text {
display: flex;
flex-wrap: nowrap;
flex-direction: column;
justify-content: center;
overflow: hidden;
height: 244rpx;
width: 476rpx;
}
.a-groupon .b .name {
float: left;
display: block;
color: #333;
line-height: 50rpx;
font-size: 30rpx;
}
.a-groupon .b .desc {
width: 476rpx;
display: block;
color: #999;
line-height: 50rpx;
font-size: 25rpx;
}
.a-groupon .b .price {
width: 476rpx;
display: flex;
color: #ab956d;
line-height: 50rpx;
font-size: 33rpx;
}
.a-groupon .b .counterPrice {
text-decoration: line-through;
font-size: 28rpx;
color: #999;
}
.a-groupon .b .retailPrice {
margin-left: 30rpx;
font-size: 28rpx;
color: #a78845;
}
.a-new .b {
width: 750rpx;
height: auto;
overflow: hidden;
padding: 0 31rpx 45rpx 31rpx;
}
.a-new .b .item {
float: left;
width: 302rpx;
margin-top: 10rpx;
margin-left: 21rpx;
margin-right: 21rpx;
}
.a-new .b .item-b {
margin-left: 42rpx;
}
.a-new .b .img {
width: 302rpx;
height: 302rpx;
border-radius: 10rpx;
overflow: hidden;
}
.a-new .b .name {
text-align: center;
display: block;
width: 302rpx;
height: 35rpx;
margin-bottom: 14rpx;
overflow: hidden;
font-size: 30rpx;
color: #333;
}
.a-new .b .price {
display: block;
text-align: center;
line-height: 30rpx;
font-size: 30rpx;
color: #ab956d;
}
.a-popular {
width: 750rpx;
height: auto;
overflow: hidden;
}
.a-popular .b .item {
border-top: 1px solid #d9d9d9;
margin: 0 20rpx;
height: 264rpx;
width: 710rpx;
}
.a-popular .b .img {
margin-top: 12rpx;
margin-right: 12rpx;
float: left;
width: 240rpx;
height: 240rpx;
border-radius: 10rpx;
overflow: hidden;
}
.a-popular .b .right {
float: left;
height: 264rpx;
width: 456rpx;
display: flex;
flex-flow: row nowrap;
}
.a-popular .b .text {
display: flex;
flex-wrap: nowrap;
flex-direction: column;
justify-content: center;
overflow: hidden;
height: 264rpx;
width: 456rpx;
}
.a-popular .b .name {
width: 456rpx;
display: block;
color: #333;
line-height: 50rpx;
font-size: 30rpx;
}
.a-popular .b .desc {
width: 456rpx;
display: block;
color: #999;
line-height: 50rpx;
font-size: 25rpx;
}
.a-popular .b .price {
width: 456rpx;
display: block;
color: #ab956d;
line-height: 50rpx;
font-size: 33rpx;
}
.a-topic .b {
height: 533rpx;
width: 750rpx;
padding: 0 0 48rpx 0;
}
.a-topic .b .list {
height: 533rpx;
width: 750rpx;
white-space: nowrap;
}
.a-topic .b .item {
display: inline-block;
height: 533rpx;
width: 680.5rpx;
margin-left: 30rpx;
overflow: hidden;
}
.a-topic .b .item:last-child {
margin-right: 30rpx;
}
.a-topic .b .img {
height: 387.5rpx;
width: 680.5rpx;
margin-bottom: 30rpx;
}
.a-topic .b .np {
height: 35rpx;
margin-bottom: 13.5rpx;
color: #333;
font-size: 30rpx;
}
.a-topic .b .np .price {
margin-left: 20.8rpx;
color: #ab956d;
}
.a-topic .b .desc {
display: block;
height: 30rpx;
color: #999;
font-size: 24rpx;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.good-grid {
width: 750rpx;
height: auto;
overflow: hidden;
}
.good-grid .h {
display: flex;
flex-flow: row nowrap;
align-items: center;
justify-content: center;
height: 130rpx;
font-size: 33rpx;
color: #333;
}
.good-grid .b {
width: 750rpx;
padding: 0 6.25rpx;
height: auto;
overflow: hidden;
}
.good-grid .b .item {
float: left;
background: #fff;
width: 365rpx;
margin-bottom: 6.25rpx;
height: 452rpx;
overflow: hidden;
text-align: center;
}
.good-grid .b .item .a {
height: 452rpx;
width: 100%;
}
.good-grid .b .item-b {
margin-left: 6.25rpx;
}
.good-grid .item .img {
margin-top: 20rpx;
width: 302rpx;
height: 302rpx;
}
.good-grid .item .name {
display: block;
width: 365.625rpx;
padding: 0 20rpx;
overflow: hidden;
height: 35rpx;
margin: 11.5rpx 0 22rpx 0;
text-align: center;
font-size: 30rpx;
color: #333;
}
.good-grid .item .price {
display: block;
width: 365.625rpx;
height: 30rpx;
text-align: center;
font-size: 30rpx;
color: #ab956d;
}
.good-grid .t {
height: 100rpx;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.search {
height: 88rpx;
width: 100%;
padding: 0 30rpx;
background: #fff;
display: flex;
align-items: center;
}
.search .van-icon-search {
line-height: 59rpx;
}
.search .input {
width: 690rpx;
height: 56rpx;
background: #ededed;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
}
.search .txt {
height: 42rpx;
line-height: 42rpx;
color: #666;
padding-left: 10rpx;
font-size: 30rpx;
}
.bottom-btn {
position: fixed;
float: middle;
left: 0;
bottom: 0;
z-index: 10;
width: 100%;
height: 100rpx;
display: flex;
background: #fff;
margin-bottom: 50rpx;
margin-right: 100rpx;
}
.bottom-btn .c {
float: middle;
background: #7232dd;
height: 80rpx;
line-height: 80rpx;
flex: 1;
text-align: center;
color: #fff;
border-radius: 30px 30px 30px 30px;
margin-right: 50rpx;
margin-left: 50rpx;
}
.bottom-btn .l {
float: left;
height: 100rpx;
width: 162rpx;
border: 1px solid #f4f4f4;
display: flex;
align-items: center;
justify-content: center;
}
.bottom-btn .l.l-collect {
border-right: none;
border-left: none;
text-align: center;
width: 90rpx;
}
.bottom-btn .l.l-collect .icon {
position: absolute;
top: 28rpx;
left: 20rpx;
font-size: 44rpx;
}
.bottom-btn .l.l-kefu {
position: relative;
height: 54rpx;
width: 63rpx;
}
.bottom-btn .l.l-cart .box {
position: relative;
height: 60rpx;
width: 60rpx;
}
.bottom-btn .l.l-cart .cart-count {
height: 28rpx;
width: 28rpx;
z-index: 10;
position: absolute;
top: 0;
right: 0;
background: #7232dd;
text-align: center;
font-size: 18rpx;
color: #fff;
line-height: 28rpx;
border-radius: 50%;
}
.bottom-btn .l.l-cart .icon {
position: absolute;
top: 10rpx;
left: 0;
font-size: 44rpx;
}
.bottom-btn .r {
border: 1px solid #CCB5F2;
background: #CCB5F2;
float: left;
height: 100rpx;
line-height: 96rpx;
flex: 1;
text-align: center;
color: #fff;
border-radius: 15px 0px 0px 15px;
}