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

226
pages/category/category.js Normal file
View File

@@ -0,0 +1,226 @@
var util = require('../../utils/util.js');
var api = require('../../config/api.js');
var app = getApp();
Page({
data: {
//已选的项目
disablecheck : true,
//上一个页面带来的信息
selectName: '',
selectNationId: '',
selectClassName: '',
selectSchoolName: '',
selectPatid: '',
//学生信息
studentlist:[],
studentSwitch: false,
standardList: [],
smStandardList: [],
smStandardContent: '',
addtionList: [],
smAddtionList: [],
id: 0,
currentCategory: {},
scrollLeft: 0,
scrollTop: 0,
scrollHeight: 0,
page: 1,
limit: 10
},
onLoad: function(options) {
// 页面初始化 options为页面跳转所带来的参数
this.setData({
selectName:options.name,
selectNationId:options.nationid,
selectClassName:options.classname,
selectSchoolName:options.schoolname,
selectPatid: options.patid
})
var that = this;
wx.getSystemInfo({
success: function(res) {
that.setData({
scrollHeight: res.windowHeight
});
}
});
},
//checkbox status
onCheckOptionChange(event) {
let itemIndex = event.target.dataset.itemIndex;
let that = this;
// console.log(itemIndex);
// console.log(event);
//编辑状态
let tmpCartData = this.data.smAddtionList.map(function(element, index, array) {
if (index == itemIndex) {
element.checked = !element.checked;
}
return element;
});
that.setData({
smAddtionList: tmpCartData
});
},
//checkbox status
onCheckStandardChange(event) {
let itemIndex = event.target.dataset.itemIndex;
let that = this;
// console.log(itemIndex);
// console.log(event);
//编辑状态
let tmpCartData = this.data.smStandardList.map(function(element, index, array) {
if (index == itemIndex) {
element.checked = !element.checked;
}
return element;
});
that.setData({
smStandardList: tmpCartData
});
},
numFilter(value){
console.log(value);
const realVal = parseFloat(value).toFixed(2);//表示保留一位函数
return realVal;
},
onReady: function() {
// 页面渲染完成
},
onShow: function() {
// 页面显示
console.log("category onshow");
this.getstandardList();
this.getaddtionList();
//this.getPerList();
},
onHide: function() {
// 页面隐藏
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
getstandardList: function() {
var that = this;
util.request(api.iteminfo, {
packageno: '666',
patid: this.data.selectPatid
})
.then(function(res) {
console.log(res.data);
that.setData({
standardList: res.data,
});
// 将后台返回的 res 数组数据进行新增一个字段
if(res.data != null){
res.data.forEach(function(item) {
// 获取图片数组length范围内的随机 index
//var randomIndex = Math.floor(Math.random() * that.data.srcList.length);
item.checked = 0;
});
that.setData({
smStandardList: res.data,
smStandardContent: res.data[0].itemno
})
}
});
},
getaddtionList: function() {
var that = this;
util.request(api.iteminfo, {
packageno: '0',
patid: this.data.selectPatid
})
.then(function(res) {
console.log(res.data);
that.setData({
addtionList: res.data,
});
if(res.data != null){
// 将后台返回的 res 数组数据进行新增一个字段
res.data.forEach(function(item) {
// 获取图片数组length范围内的随机 index
//var randomIndex = Math.floor(Math.random() * that.data.srcList.length);
item.checked = 0;
});
that.setData({
smAddtionList: res.data
})
}
});
console.log(this.data.smAddtionList.length, "smAddtionList length");
},
addFast: function(){
var filterNum = this.data.smStandardList.filter(function(person,index,arrs){
return person.checked==true
});
var filterNum1 = this.data.smAddtionList.filter(function(person,index,arrs){
return person.checked==true
});
if( (filterNum.length == 0) && (filterNum1.length == 0)){
wx.showToast({
title: '没有选择项目',
})
}else{
app.globalData.gStandardList = this.data.smStandardList;
app.globalData.gAddtionList = this.data.smAddtionList;
app.globalData.gStandardContent = this.data.smStandardContent;
// 设置好list转到结算页面
try {
// wx.setStorageSync('cartId', res.data);
// wx.setStorageSync('grouponRulesId', checkedGroupon.id);
// wx.setStorageSync('grouponLinkId', that.data.grouponLink.id);
wx.navigateTo({
url: '/pages/checkout/checkout?name=' + this.data.selectName + '&nationid=' + this.data.selectNationId + '&classname=' + this.data.selectClassName + '&schoolname=' + this.data.selectSchoolName + '&patid=' + this.data.selectPatid,
})
} catch (e) {}
}
},
onTabItemTap(item) {
// 判断是否要阻止切换
console.log("切换tab");
if (app.globalData.hasXyrw == false) {
// 阻止切换
wx.switchTab({
url: '/pages/index/index'
})
return false;
}
// 允许切换
return true;
},
onUnload: function() {
// 页面关闭
}
})

View File

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

View File

@@ -0,0 +1,146 @@
<!-- <view class="cart-bottom">
<van-checkbox value="checked" bind:change="checkedAll">全选5</van-checkbox>
</view> -->
<view class="container">
<!-- <view class="item">
<view class="item-header">
<view class="item-header-cont">
项目列表
</view>
</view>
</view> -->
<view class="form">
<!-- <view class="tjb-info-right" >
<view class="tjb-info-content">
<van-button round type="info" icon="exchange" bind:click="chgDefault" size="small">切换体检人</van-button>
</view>
</view> -->
<van-popup
show="{{ studentSwitch }}"
position="bottom"
custom-style="height: 50%"
bind:close="studentShutdown"
>
<view class = "pickempty" wx:if = "{{ studentlist.length == 0 }}">无数据</view>
<view wx:if = "{{ studentlist != 0 }}">
<van-picker
show-toolbar
title="请选择"
columns="{{ studentlist }}"
value-key="name"
bind:cancel="studentShutdown"
bind:confirm="studentIdentification"
/>
</view>
</van-popup>
<view class="container">请核对项目后,选择开单!开单后请及时缴费,超过开单当天24:00后,订单自动取消,如需缴费,请重新选择项目并开单!</view>
<view class="tjinfo" >
<!-- 默认160rpx 最多只能放6个汉字 -->
<view class="tjinfo-left">学校:</view>
<view class="tjinfo-middle">{{ selectSchoolName }}</view>
</view>
<view class="tjinfo" >
<view class="tjinfo-left">班级:</view>
<view class="tjinfo-middle">{{ selectClassName }}</view>
</view>
<view class="tjinfo" >
<view class="tjinfo-left">姓名:</view>
<view class="tjinfo-middle">{{ selectName }}</view>
</view>
<!-- 分割线 -->
<view class="view_fengexian">
<view ></view>
<!-- <text class="text_fengexian"></text> -->
<view ></view>
</view>
<view class="tjitem" wx:if = "{{smStandardList.length != 0}}" >
<!-- <view class="tjitem-left-header">基础项目</view>
<view class="tjitem-right">¥80</view> -->
<view class="tjitem-list-wrap {{(iindex + 1) % 2 == 0 ? 'item-b' : ''}}" url="/pages/goods/goods?id={{iitem.id}}"
wx:for="{{smStandardList}}" wx:key="id" wx:for-item="iitem" wx:for-index="iindex">
<view class="tjitem-check">
<view class="tjitem-check-wrap" wx:if = "{{iitem.showflag == 0}}" >
<van-checkbox value="{{ iitem.checked }}" bind:change="onCheckStandardChange" checked-color="#07c160" data-item-index="{{iindex}}"/>
</view>
<view class="tjitem-check-wrap" wx:if = "{{iitem.showflag == 1}}" >
<van-checkbox disabled value="{{ disablecheck }}" bind:change="onCheckStandardChange" checked-color="#07c160" data-item-index="{{iindex}}"/>
</view>
</view>
<view class="tjitem-list-big" wx:if = "{{iitem.showflag == 0}}" >{{iitem.itemname}}</view>
<view class="tjitem-right" wx:if = "{{iitem.showflag == 0}}" >¥{{iitem.itemprice}}</view>
<view class="tjitem-list-big-disable" wx:if = "{{iitem.showflag == 1}}" >{{iitem.itemname}}</view>
<view class="tjitem-right-disable" wx:if = "{{iitem.showflag == 1}}" >¥{{iitem.itemprice}}</view>
</view>
</view>
<view class="tjitem" >
<view class="tjitem-content" >{{ smStandardContent }}</view>
</view>
<!-- 分割线 -->
<view class="view_fengexian" wx:if = "{{smStandardList.length != 0}}">
<view ></view>
<!-- <text class="text_fengexian"></text> -->
<view ></view>
</view>
<view class="tjitem" wx:if = "{{smAddtionList.length != 0}}" >
<view class="tjitem-left-header">可选项目</view>
</view>
<view class="tjitem" wx:if = "{{smAddtionList.length == 0 && smStandardList.length == 0 }}" >
<view class="tjitem-left-header">无项目</view>
</view>
<!-- <view class="tjitem" >
<view class="tjitem-list">静态心电图</view>
<view class="tjitem-right">¥80</view>
</view> -->
<view class="tjitem-list-wrap {{(iindex + 1) % 2 == 0 ? 'item-b' : ''}}" url="/pages/goods/goods?id={{iitem.id}}"
wx:for="{{smAddtionList}}" wx:key="id" wx:for-item="iitem" wx:for-index="iindex">
<view class="tjitem-check">
<view class="tjitem-check-wrap" wx:if = "{{iitem.showflag == 0}}" >
<van-checkbox value="{{ iitem.checked }}" bind:change="onCheckOptionChange" checked-color="#07c160" data-item-index="{{iindex}}"/>
</view>
<view class="tjitem-check-wrap" wx:if = "{{iitem.showflag == 1}}" >
<van-checkbox disabled value="{{ disablecheck }}" bind:change="onCheckOptionChange" checked-color="#07c160" data-item-index="{{iindex}}"/>
</view>
</view>
<view class="tjitem-list" wx:if = "{{iitem.showflag == 0}}">{{iitem.itemname}}</view>
<view class="tjitem-list-disable" wx:if = "{{iitem.showflag == 1}}">{{iitem.itemname}}</view>
<view class="tjitem-right" wx:if = "{{iitem.showflag == 0}}" >¥{{iitem.itemprice}}</view>
<view class="tjitem-right-disable" wx:if = "{{iitem.showflag == 1}}" >¥{{iitem.itemprice}}</view>
</view>
</view>
</view>
<!-- 确保信息显示 -->
<view class="area">
<view class="area-header">
<view class="area-header-cont">
</view>
</view>
</view>
<view class="bottom-btn">
<view class="c" bindtap="addFast" >提交订单</view>
</view>

View File

@@ -0,0 +1,554 @@
.container {
background: #f9f9f9;
}
.tjb-info-right{
height: 80rpx;
width: 100%;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
border-bottom: 1rpx solid #f8f8f8;
/* border: 1rpx solid #0e0af1; */
}
.tjb-info-content{
width: 220rpx;
font-size: 25rpx;
color: #333;
line-height: 80rpx;
margin-left: 50rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjinfo{
height: 80rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
border-bottom: 1rpx solid #f8f8f8;
/* border: 1rpx solid #0e0af1; */
}
.tjinfo-left{
width: 160rpx;
font-size: 25rpx;
color: #333;
line-height: 80rpx;
margin-left: 50rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjinfo-middle{
flex: auto;
font-size: 25rpx;
color: #333;
line-height: 80rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjitem{
height: 120rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1rpx solid #f8f8f8;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-left-header{
height: 100%;
width: 300rpx;
font-size: 35rpx;
color: #333;
margin-left: 100rpx;
line-height: 120rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-left{
height: 100%;
width: 160rpx;
font-size: 25rpx;
color: #333;
margin-left: 20rpx;
line-height: 120rpx;
/* border: 1rpx solid #85f10a; */
}
.tjitem-right{
font-size: 25rpx;
color: #333;
line-height: 80rpx;
margin-right: 50rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-right-disable{
font-size: 25rpx;
color: #333;
line-height: 80rpx;
margin-right: 50rpx;
/* text-decoration:line-through; */
/* border: 1rpx solid #f10a0a; */
}
.tjitem-content{
height: 200rpx;
width: 100%;
font-size: 25rpx;
color: #333;
line-height: 50rpx;
margin-left: 30rpx;
margin-right: 50rpx;
margin-top: 10rpx;
/* border: 1rpx solid #340af1; */
}
.tjitem-content-disable{
height: 200rpx;
width: 100%;
font-size: 25rpx;
color: #333;
line-height: 50rpx;
margin-left: 30rpx;
margin-right: 50rpx;
margin-top: 10rpx;
/* text-decoration:line-through; */
/* border: 1rpx solid #340af1; */
}
.container{
font-size: 24rpx;
color:#000;
line-height: 40rpx;
background-color: #f2f0f4;
}
.view_fengexian {
width: 96%;
height: 20rpx;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin: 0rpx 2% 0rpx 2%;
}
/* 两个view的样式 */
.view_fengexian view {
width: 100%;
height: 2rpx;
/* background: linear-gradient(to right, #ead6ee, #a0f1ea); */
background: rgb(241, 237, 237);
}
/* 字体的样式 */
.text_fengexian {
font-size: 25rpx;
color: rgb(253, 143, 143);
margin: 0rpx 2% 0rpx 2%;
}
.tjitem-line{
height: 100%;
width: 100%;
font-size: 25rpx;
color: #333;
line-height: 10rpx;
margin-left: 30rpx;
/* border: 1rpx solid #340af1; */
}
.tjitem-list-wrap{
height: 80rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1rpx solid #f8f8f8;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-list{
flex: 1;
height: 100%;
width: 200rpx;
font-size: 25rpx;
color: #333;
line-height: 80rpx;
/* border: 1rpx solid #85f10a; */
}
.tjitem-list-disable{
flex: 1;
height: 100%;
width: 200rpx;
font-size: 25rpx;
color: #333;
line-height: 80rpx;
/* text-decoration:line-through; */
/* border: 1rpx solid #85f10a; */
}
.tjitem-list-big{
flex: 1;
height: 100%;
width: 200rpx;
font-size: 35rpx;
color: #333;
line-height: 80rpx;
/* border: 1rpx solid #85f10a; */
}
.tjitem-list-big-disable{
flex: 1;
height: 100%;
width: 200rpx;
font-size: 35rpx;
color: #333;
line-height: 80rpx;
/* text-decoration:line-through; */
/* border: 1rpx solid #85f10a; */
}
.tjitem-check{
height: 100%;
width: 50rpx;
font-size: 25rpx;
color: #333;
margin-left: 50rpx;
line-height: 80rpx;
/* border: 1rpx solid #85f10a; */
}
.tjitem-check-wrap{
width: 50rpx;
font-size: 25rpx;
color: #333;
margin-top: 20rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-input{
flex: 1;
font-size: 25rpx;
color: #333;
line-height: 120rpx;
margin-left: 30rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-inputf{
flex: 1;
font-size: 25rpx;
color: #333;
line-height: 120rpx;
/* border: 1rpx solid #f10a0a; */
}
.tjitem-inputs{
display: flex !important;
}
.tjitem-sr{
border: 0;
}
.cart-bottom {
position: fixed;
bottom: 0;
left: 0;
height: 100rpx;
width: 100%;
background: #fff;
display: flex;
}
.item{
height: 100rpx;
margin-bottom: 100rpx;
position: relative;
background: #fff;
}
.item-header{
height: 120px;
width: 100%;
display: flex;
background-color: rgba(52,120,247);
border-radius: 15rpx;
}
.item-header .item-header-cont {
font-size: 35rpx;
font-weight: bold;
justify-content: center;
width: 95%;
margin: 60rpx auto;
height: 80rpx;
display: flex;
align-items: center;
}
.area{
height: 100rpx;
margin-bottom: 100rpx;
position: relative;
background: #f4f4f4;
}
.service{
font-size: 35rpx;
font-weight: bold;
display: flex;
align-items: center;
margin-top: 80rpx;
}
.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;
}
.cate-nav {
position: fixed;
left: 0;
top: 0;
z-index: 1000;
}
.cate-nav-body {
height: 84rpx;
white-space: nowrap;
background: #fff;
border-top: 1px solid rgba(0, 0, 0, 0.15);
overflow: hidden;
}
.cate-nav .item {
display: inline-block;
height: 84rpx;
min-width: 130rpx;
padding: 0 15rpx;
}
.cate-nav .item .name {
display: block;
height: 84rpx;
padding: 0 20rpx;
line-height: 84rpx;
color: #333;
font-size: 30rpx;
width: auto;
}
.cate-nav .item.active .name {
color: #ab956d;
border-bottom: 2px solid #ab956d;
}
.cate-item {
margin-top: 94rpx;
margin-left: 25rpx;
height: auto;
overflow: hidden;
}
.cate-item .h {
height: 145rpx;
width: 750rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.cate-item .h .name {
display: block;
height: 35rpx;
margin-bottom: 18rpx;
font-size: 30rpx;
color: #333;
}
.cate-item .h .desc {
display: block;
height: 24rpx;
font-size: 24rpx;
color: #999;
}
.cate-item .b {
width: 750rpx;
padding: 0 6.25rpx;
height: auto;
overflow: hidden;
}
.cate-item .b .item {
float: left;
background: #fff;
width: 165rpx;
margin-bottom: 6.25rpx;
padding-bottom: 33.333rpx;
height: auto;
overflow: hidden;
text-align: center;
/* border: 2px solid #ab956d; */
}
.cate-item .b .item-b {
margin-left: 10.25rpx;
}
.cate-item .b .item {
margin-left: 10.25rpx;
}
.cate-item .item .img {
width: 82rpx;
height: 82rpx;
}
.cate-item .item .name {
display: block;
width: 165.625rpx;
height: 70rpx;
margin: 11.5rpx 0 22rpx 0;
text-align: center;
font-size: 28rpx;
color: #333;
/* text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
align-content: center; */
}
.cate-item .item .price {
display: block;
width: 165.625rpx;
height: 30rpx;
text-align: center;
font-size: 30rpx;
color: #ab956d;
}
.bottom-btn {
position: fixed;
left: 0;
bottom: 0;
z-index: 10;
width: 750rpx;
height: 100rpx;
display: flex;
background: #fff;
margin-bottom: 0rpx;
margin-right: 100rpx;
}
.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 .c {
float: left;
background: #7232dd;
height: 80rpx;
line-height: 80rpx;
flex: 1;
text-align: center;
color: #fff;
border-radius: 30px 30px 30px 30px;
margin-top: 5rpx;
margin-bottom: 5rpx;
margin-right: 10rpx;
margin-left: 500rpx;
}
.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;
}