This commit is contained in:
weipengfei 2024-04-27 18:02:43 +08:00
parent f420935871
commit 20e5ed1895
108 changed files with 5639 additions and 277 deletions

View File

@ -20,4 +20,5 @@
font-size: 26rpx; font-size: 26rpx;
background-color: #eee; background-color: #eee;
} }
</style> </style>

5
api/good.js Normal file
View File

@ -0,0 +1,5 @@
import request from '@/utils/request';
export const goodListApi = (data)=>{
return request.get('/good/list', data);
}

133
components/addressPopup.vue Normal file
View File

@ -0,0 +1,133 @@
<template>
<up-popup :show="show" closeable round="10" @close="close">
<view class="address-popup">
<view class="head-title">收货地址</view>
<view class="list-admin">
<view>常用地址</view>
<view class="admin-btn">
<view class="btn" @click="navTo('/pagesOrder/addressList/addressList')"><up-icon name="edit-pen" color="#20B128"></up-icon></view>
<view class="btn" @click="navTo('/pagesOrder/addressEdit/addressEdit')"><up-icon name="plus" color="#20B128"></up-icon></view>
</view>
</view>
<scroll-view style="height: 600rpx;padding-bottom: 20rpx;" scroll-y>
<view class="row" v-for="(item,index) in 10" :key="index" @click="addressType=index">
<view class="content">
<view class="top">
<view class="name">小李</view>
<view class="phone">151****9999</view>
<u-tag style="pointer-events: none;" text="默认" type="success" plain size="mini"></u-tag>
</view>
<view class="bottom u-line-2">四川泸州市龙马潭区莲花池街道商业街1号</view>
</view>
<image v-if="addressType==index" src="@/static/icon/check.png"></image>
<image v-else src="@/static/icon/n-check.png"></image>
</view>
</scroll-view>
<up-button color="#20B128" shape="circle" @click="submitAddress">确认</up-button>
</view>
</up-popup>
</template>
<script setup>
import { ref } from "vue"
const addressType = ref(-1)
const props = defineProps({
show: {
type: Boolean,
default: false
}
})
const emit = defineEmits(['close', 'change']);
const close = () => {
emit('close');
}
const submitAddress = () => {
emit('change', addressType.value);
}
const navTo = (url)=>{
uni.navigateTo({
url: url
})
}
</script>
<style scoped lang="scss">
.address-popup {
padding: 30rpx;
.head-title {
font-weight: bold;
text-align: center;
margin-bottom: 20rpx;
}
.list-admin {
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
.admin-btn {
display: flex;
color: #20B128;
.btn {
margin-left: 20rpx;
display: flex;
align-items: center;
&:active {
color: rgba(#20B128, 0.8);
transition: background-color 0.5s;
animation: disappear 0.5s 0.5s forwards;
}
}
}
}
.row {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #eee;
margin-bottom: 20rpx;
&:last-child {
border-bottom: none;
margin-bottom: 0;
}
.content {
.top {
display: flex;
view {
margin-right: 20rpx;
}
}
.bottom {}
}
image {
width: 40rpx;
height: 40rpx;
flex-shrink: 0;
}
}
}
@keyframes disappear {
to {
opacity: 0;
/* 渐隐 */
transform: scale(0);
/* 缩小 */
}
}
</style>

69
components/modal.vue Normal file
View File

@ -0,0 +1,69 @@
<template>
<up-popup :show="show" round="10" @close="close" mode="center">
<view class="modal-popup">
<view class="head-title">{{title}}</view>
<view class="content">{{content}}</view>
<view class="btn-box">
<view style="width: 230rpx;"><up-button @click="close" plain color="#999">{{cancleText}}</up-button></view>
<view style="width: 230rpx;"><up-button @click="change" color="#20B128">{{confirmText}}</up-button></view>
</view>
</view>
</up-popup>
</template>
<script setup>
const props = defineProps({
show: {
type: Boolean,
default: false
},
title: {
type: String,
default: '确认操作吗'
},
content: {
type: String,
default: '确认后继续下一步操作'
},
confirmText: {
type: String,
default: '确认'
},
cancleText: {
type: String,
default: '取消'
},
})
const emit = defineEmits(['close', 'change']);
const close = () => {
emit('close');
}
const change = ()=>{
emit('change');
}
</script>
<style scoped lang="scss">
.modal-popup{
width: 500rpx;
padding: 40rpx;
.head-title{
font-size: 32rpx;
text-align: center;
}
.content{
font-size: 26rpx;
color: #999;
text-align: center;
padding: 40rpx 0;
}
.btn-box{
display: flex;
justify-content: space-between;
}
}
</style>

33
dict/cancelDict.js Normal file
View File

@ -0,0 +1,33 @@
const list = [
{
name: '不想要了/临时有事',
value: 1,
},
{
name: '点错了/点多了/点少了',
value: 2,
},
{
name: '地址/电话填错了',
value: 3,
},
{
name: '送达时间选错了',
value: 4,
},
{
name: '支付遇到问题',
value: 5,
},
{
name: '其他平台更便宜',
value: 6,
},
{
name: '其他原因',
value: 7,
},
]
export default list;

View File

@ -50,7 +50,7 @@
"quickapp" : {}, "quickapp" : {},
/* */ /* */
"mp-weixin" : { "mp-weixin" : {
"appid" : "", "appid" : "wxce2948c50d808b66",
"setting" : { "setting" : {
"urlCheck" : false "urlCheck" : false
}, },

View File

@ -60,6 +60,22 @@
"navigationBarTitleText" : "", "navigationBarTitleText" : "",
"enablePullDownRefresh" : false "enablePullDownRefresh" : false
} }
},
{
"path" : "addressList/addressList",
"style" :
{
"navigationBarTitleText" : "地址管理",
"enablePullDownRefresh" : false
}
},
{
"path" : "addressEdit/addressEdit",
"style" :
{
"navigationBarTitleText" : "",
"enablePullDownRefresh" : false
}
} }
] ]
} }

View File

@ -90,7 +90,7 @@
<image v-else src="@/static/icon/check.png"></image> <image v-else src="@/static/icon/check.png"></image>
<text style="font-size: 24rpx;">全选</text> <text style="font-size: 24rpx;">全选</text>
</view> </view>
<view v-if="false" class="btn-box"> <view v-if="true" class="btn-box">
<view class="all-price"> <view class="all-price">
<view style="width: 80rpx;">合计:</view> <view style="width: 80rpx;">合计:</view>
<view class="price"> <view class="price">
@ -99,10 +99,10 @@
<text style="font-size: 24rpx;">.30</text> <text style="font-size: 24rpx;">.30</text>
</view> </view>
</view> </view>
<up-button color="#20b128" shape="circle" disabled>去结算<text>(2)</text></up-button> <up-button color="#20b128" shape="circle" :disabled="false" @click="settleAccounts">去结算<text>(2)</text></up-button>
</view> </view>
<view v-else class="btn-box"> <view v-else class="btn-box">
<view style="width: 100px;margin-right: 20rpx;"><up-button size="small" plain color="#989898" shape="circle">移入收藏夹</up-button></view> <!-- <view style="width: 100px;margin-right: 20rpx;"><up-button size="small" plain color="#989898" shape="circle">移入收藏夹</up-button></view> -->
<view style="width: 80px;"><up-button size="small" plain color="#989898" shape="circle">删除</up-button></view> <view style="width: 80px;"><up-button size="small" plain color="#989898" shape="circle">删除</up-button></view>
</view> </view>
</view> </view>
@ -127,6 +127,11 @@
swiperCurrent.value = current; swiperCurrent.value = current;
tabsActive.value = current; tabsActive.value = current;
} }
//
const settleAccounts = ()=>{
}
</script> </script>
<style lang="scss"> <style lang="scss">

View File

@ -3,7 +3,7 @@
<up-navbar placeholder style="z-index: 10080;"> <up-navbar placeholder style="z-index: 10080;">
<!-- #ifdef MP-WEIXIN --> <!-- #ifdef MP-WEIXIN -->
<template #left> <template #left>
<view style="width: 540rpx;"><up-search placeholder="请输入商品" v-model="keyword" :showAction="false"></up-search> <view style="width: 500rpx;"><up-search placeholder="请输入商品" @search="searchKeyword" v-model="keyword" :showAction="false"></up-search>
</view> </view>
</template> </template>
<!-- #endif --> <!-- #endif -->
@ -12,7 +12,7 @@
<view></view> <view></view>
</template> </template>
<template #center> <template #center>
<view style="width: 700rpx;"><up-search placeholder="请输入商品" v-model="keyword" :showAction="false"></up-search> <view style="width: 700rpx;"><up-search placeholder="请输入商品" @search="searchKeyword" v-model="keyword" :showAction="false"></up-search>
</view> </view>
</template> </template>
<!-- #endif --> <!-- #endif -->
@ -20,7 +20,7 @@
<view style="position: relative;overflow: hidden;"> <view style="position: relative;overflow: hidden;">
<scroll-view class="head-view" scroll-x> <scroll-view class="head-view" scroll-x>
<view class="list"> <view class="list">
<view class="item" :class="{'item-active': topActive==index}" v-for="(item, index) in 10" :key="index"> <view class="item" :class="{'item-active': topActive==index}" v-for="(item, index) in 10" :key="index" @click="changeOne(item, index)">
<image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image> <image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image>
<view class="c-text u-line-1">惠农生活{{item}}</view> <view class="c-text u-line-1">惠农生活{{item}}</view>
</view> </view>
@ -37,9 +37,9 @@
<viewPopup nav v-if="show===1" @close="show=0"> <viewPopup nav v-if="show===1" @close="show=0">
<view class="cateOne"> <view class="cateOne">
<view class="head-title">全部分类</view> <view class="head-title">全部分类</view>
<scroll-view scroll-y style="height: 60vh;"> <scroll-view scroll-y style="height: 600rpx;">
<view class="list"> <view class="list">
<view class="item" :class="{'item-active': topActive==index}" v-for="(item, index) in 55" :key="index"> <view class="item" :class="{'item-active': topActive==index}" v-for="(item, index) in 10" :key="index" @click="changeOne(item, index)">
<image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image> <image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image>
<view class="c-text u-line-1">惠农生活{{item}}</view> <view class="c-text u-line-1">惠农生活{{item}}</view>
</view> </view>
@ -50,7 +50,7 @@
<view class="scroll-box"> <view class="scroll-box">
<scroll-view class="left" scroll-y> <scroll-view class="left" scroll-y>
<view class="item u-line-1" :class="{'item-active': leftActive==index}" v-for="(item, index) in 20" <view class="item u-line-1" :class="{'item-active': leftActive==index}" v-for="(item, index) in 20"
:key="index">惠农生活{{item}}</view> :key="index" @click="changeTwo(item, index)">惠农生活{{item}}</view>
<view style="width: 100%;height: 200rpx;"></view> <view style="width: 100%;height: 200rpx;"></view>
</scroll-view> </scroll-view>
<view class="right"> <view class="right">
@ -58,7 +58,7 @@
<scroll-view style="height: 90rpx;" scroll-x> <scroll-view style="height: 90rpx;" scroll-x>
<view class="classify-list"> <view class="classify-list">
<view class="classify-list-item u-line-1" :class="{'item-active': rightActive==index}" <view class="classify-list-item u-line-1" :class="{'item-active': rightActive==index}"
v-for="(item, index) in 6" :key="index"> v-for="(item, index) in 6" :key="index" @click="changeThree(item, index)">
牛肉 牛肉
</view> </view>
<view style="width: 70rpx;flex-shrink: 0;"></view> <view style="width: 70rpx;flex-shrink: 0;"></view>
@ -68,9 +68,10 @@
<up-icon name="arrow-down"></up-icon> <up-icon name="arrow-down"></up-icon>
</view> </view>
<view class="order-by"> <view class="order-by">
<view class="item">综合</view> <view class="item" :class="{'order-active': where.order==''}" @click="changeOrder('')">综合</view>
<view class="item">价格</view> <view class="item" :class="{'order-active': where.order=='desc'||where.order=='asc'}"
<view class="item">销量</view> @click="changeOrder(where.order=='asc'?'desc':'asc')">价格</view>
<view class="item" :class="{'order-active': where.order=='sales'}" @click="changeOrder('sales')">销量</view>
</view> </view>
</view> </view>
<viewPopup v-if="show===2" @close="show=0"> <viewPopup v-if="show===2" @close="show=0">
@ -78,7 +79,7 @@
<scroll-view scroll-y style="height: 230rpx;"> <scroll-view scroll-y style="height: 230rpx;">
<view class="classify-list"> <view class="classify-list">
<view class="classify-list-item u-line-1" :class="{'item-active': rightActive==index}" <view class="classify-list-item u-line-1" :class="{'item-active': rightActive==index}"
v-for="(item, index) in 6" :key="index"> v-for="(item, index) in 6" :key="index" @click="changeThree(item, index)">
牛肉 牛肉
</view> </view>
</view> </view>
@ -107,18 +108,68 @@
</scroll-view> </scroll-view>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script setup> <script setup>
import { onLoad } from "@dcloudio/uni-app"
import { ref } from "vue" import { ref } from "vue"
import viewPopup from "@/components/viewPopup/index.vue" import viewPopup from "@/components/viewPopup.vue"
const show = ref(0);
const topActive = ref(0); const topActive = ref(0);
const changeOne = (item, index)=>{
console.log('选择', item, index);
topActive.value = index;
show.value = 0;
}
const leftActive = ref(2); const leftActive = ref(2);
const changeTwo = (item, index)=>{
console.log('选择', item, index);
leftActive.value = index;
show.value = 0;
}
const rightActive = ref(1); const rightActive = ref(1);
const show = ref(0); const changeThree = (item, index)=>{
const keyword = ref('') console.log('选择', item, index);
rightActive.value = index;
show.value = 0;
}
const keyword = ref('');
const searchKeyword = ()=>{
console.log('搜索', keyword.value);
where.value = keyword.value;
}
const changeOrder = (order)=>{
console.log('排序', order);
where.value.order = order;
}
const where = ref({
page: 1,
pageSize: 15,
keyword: '',
order: ''
})
const loading = ref(true);
const getGoodList = ()=>{
loading.value = true;
setTimeout(()=>{
loading.value = false;
},3000)
}
onLoad(()=>{
getGoodList();
})
</script> </script>
<style lang="scss"> <style lang="scss">
@ -373,6 +424,9 @@
.item { .item {
padding-right: 20rpx; padding-right: 20rpx;
} }
.order-active{
color: #20b128;
}
} }
} }

View File

@ -1,6 +1,24 @@
<template> <template>
<view> <view>
<view class="login-box">
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png"></image>
<view class="tips">欢迎登录里海商户采购平台</view>
<block v-if="true">
<view class="btn">
<up-button color="#20B128" size="large"><up-icon name="weixin-fill" color="#fff" size="28"></up-icon></up-button>
</view>
<view class="btn">
<up-button color="#ECFFEE" size="large"><text style="color: #20B128;">使用短信验证登录</text></up-button>
</view>
</block>
<view class="agreement">
<image v-if="true" src="@/static/icon/n-check.png"></image>
<image v-else src="@/static/icon/check.png"></image>
<view>
我已同意<text>用户协议</text><text>隐私政策</text>
</view>
</view>
</view>
</view> </view>
</template> </template>
@ -10,8 +28,54 @@ import useUserStore from "@/store/user.js"
const userStore = useUserStore(); //使pinia const userStore = useUserStore(); //使pinia
</script> </script>
<style lang="scss"> <style lang="scss">
page{
background-color: #fff;
}
.login-box{
width: 700rpx;
height: 88vh;
margin: 0 auto;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 10vh;
position: relative;
.logo{
height: 152rpx;
width: 152rpx;
}
.tips{
color: #444444;
font-size: 28rpx;
margin: 30rpx 0;
}
.btn{
width: 600rpx;
margin-top: 40rpx;
font-size: 32rpx !important;
}
.agreement{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
display: flex;
justify-content: center;
color: #444;
image{
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
}
}
</style> </style>

View File

@ -9,7 +9,7 @@
<image class="bg" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/e3a7b202404261113002322.webp" <image class="bg" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/e3a7b202404261113002322.webp"
mode="widthFix"></image> mode="widthFix"></image>
<view class="u-card"> <view class="u-card">
<up-avatar src="https://shop.lihaink.cn/static/images/f1.png" size="80"></up-avatar> <up-avatar src="" size="80"></up-avatar>
<view class="content"> <view class="content">
<view class="u-phone">151****6699</view> <view class="u-phone">151****6699</view>
<view class="u-id">ID: 6655</view> <view class="u-id">ID: 6655</view>
@ -21,18 +21,18 @@
<view class="order-info"> <view class="order-info">
<view class="info-head">我的订单</view> <view class="info-head">我的订单</view>
<view class="info-list"> <view class="info-list">
<view class="list-item"> <view class="list-item" @click="navTo(1)">
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/f335a202404261401535608.png"></image> <image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/f335a202404261401535608.png"></image>
<view class="">待付款</view> <view class="">待付款</view>
</view> </view>
<view class="list-item"> <view class="list-item" @click="navTo(2)">
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/45241202404261403353935.png"></image> <image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/45241202404261403353935.png"></image>
<view class="">待收货</view> <view class="">待收货</view>
</view> </view>
<view class="list-item"> <!-- <view class="list-item">
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/96915202404261403582769.png"></image> <image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/96915202404261403582769.png"></image>
<view class="">售后/退款</view> <view class="">售后/退款</view>
</view> </view> -->
<view class="list-item" @click="navTo()"> <view class="list-item" @click="navTo()">
<image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/abdcd202404261406199643.png"></image> <image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/abdcd202404261406199643.png"></image>
<view class="">全部订单</view> <view class="">全部订单</view>
@ -43,7 +43,7 @@
<view class="card"> <view class="card">
<up-cell-group> <up-cell-group>
<up-cell title="我的地址" :isLink="true"></up-cell> <up-cell title="我的地址" :isLink="true" url="/pagesOrder/addressList/addressList"></up-cell>
</up-cell-group> </up-cell-group>
</view> </view>
@ -51,7 +51,7 @@
<up-cell-group> <up-cell-group>
<up-cell title="意见反馈" :isLink="true"></up-cell> <up-cell title="意见反馈" :isLink="true"></up-cell>
<up-cell title="关于我们" :isLink="true"></up-cell> <up-cell title="关于我们" :isLink="true"></up-cell>
<up-cell title="设置" :isLink="true"></up-cell> <up-cell title="设置" :isLink="true" url="/pages/login/login"></up-cell>
</up-cell-group> </up-cell-group>
</view> </view>
</view> </view>
@ -128,7 +128,7 @@
left: 0; left: 0;
z-index: 3; z-index: 3;
background-image: url('https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a8863202404261349533191.png'); background-image: url('https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a8863202404261349533191.png');
background-size: 28% 100%; background-size: 38% 100%;
background-position: right; background-position: right;
background-repeat: no-repeat; background-repeat: no-repeat;

View File

@ -0,0 +1,100 @@
<template>
<view class="">
<view class="card">
<up-form labelPosition="left" :model="formData" :rules="rules" ref="uForm" labelWidth="100">
<up-form-item label="收货人" prop="name" borderBottom>
<up-input v-model="formData.name" disabledColor="#ffffff" border="none" placeholder="请填写收货人姓名"></up-input>
</up-form-item>
<up-form-item label="联系电话" prop="phone" borderBottom>
<up-input v-model="formData.phone" disabledColor="#ffffff" type="number" placeholder="请填写联系电话"
border="none"></up-input>
</up-form-item>
<up-form-item label="详细地址" prop="address" borderBottom>
<up-input v-model="formData.address" disabledColor="#ffffff" placeholder="请填写详细地址" border="none"></up-input>
</up-form-item>
</up-form>
</view>
<view class="card">
<view class="is-default">
<view>设置为默认地址</view>
<up-switch v-model="formData.isDefault" activeColor="#20B128"></up-switch>
</view>
</view>
<view class="bottom-fixed">
<up-button color="#20B128" shape="circle" @click="submit">保存</up-button>
</view>
</view>
</template>
<script setup>
import { onLoad } from "@dcloudio/uni-app"
import { ref } from "vue"
const mode = ref('add');
const formData = ref({
name: '',
phone: '',
address: '',
isDefault: false
})
const rules = ref({
name: [{ required: true, message: '请输入姓名', trigger: ['blur'] }],
phone: [{ required: true, message: '请输入手机号', trigger: ['blur'] }],
address: [{ required: true, message: '请输入地址', trigger: ['blur'] }]
})
const uForm = ref(null);
const submit = () => {
uForm.value.validate().then(() => {
console.log('验证通过');
}).catch(() => {
console.log('验证失败');
})
}
onLoad((options) => {
if (options.mode == 'edit') {
mode.value = 'edit';
uni.setNavigationBarTitle({
title: '编辑地址'
})
} else uni.setNavigationBarTitle({
title: '新增地址'
})
})
</script>
<style lang="scss">
.card {
margin: 20rpx;
background-color: #fff;
border-radius: 14rpx;
padding: 0 30rpx;
.is-default {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 0;
}
}
.bottom-fixed {
position: fixed;
bottom: 0;
left: 0;
height: 120rpx;
height: calc(constant(safe-area-inset-bottom) + 120rpx);
/* 适用于iOS设备 */
height: calc(env(safe-area-inset-bottom) + 120rpx);
/* 适用于Android设备 */
width: 100%;
box-sizing: border-box;
background-color: #fff;
padding: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx);
/* 适用于iOS设备 */
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
/* 适用于Android设备 */
}
</style>

View File

@ -0,0 +1,148 @@
<template>
<view class="list">
<view class="address-card" v-for="(item, index) in 3" :key="index">
<view class="address-info">
<view class="top">
<view class="name">收货人小李</view>
<view class="phone">14566666666</view>
</view>
<view class="bottom">
四川泸州市龙马潭区莲花池街道商业街1号
</view>
</view>
<view class="btn-box">
<view class="left">
<image v-if="false" src="@/static/icon/check.png"></image>
<image v-else src="@/static/icon/n-check.png"></image>
<view>设为默认</view>
</view>
<view class="right">
<view class="btn" @click="showDelete(item)">
<up-icon name="trash"></up-icon>
删除
</view>
<view class="btn" @click="navTo('/pagesOrder/addressEdit/addressEdit?mode=edit')">
<up-icon name="edit-pen"></up-icon>
编辑
</view>
</view>
</view>
</view>
<view style="width: 100%;height: 150rpx;"></view>
<view class="bottom-fixed">
<up-button color="#20B128" shape="circle" @click="navTo('/pagesOrder/addressEdit/addressEdit')">新增地址</up-button>
</view>
<modal :show="show" title="确认删除吗" content="删除后不可恢复" @close="show=false" @change="deleteAddress"></modal>
</view>
</template>
<script setup>
import { ref } from "vue"
import modal from "@/components/modal.vue";
const navTo = (url)=>{
uni.navigateTo({
url: url
})
}
const show = ref(false);
const deleteInfo = ref({});
const showDelete = (item)=>{
deleteInfo.value = item;
show.value = true;
}
const deleteAddress = ()=>{
console.log(deleteInfo.value);
show.value = false;
}
</script>
<style lang="scss">
.address-card {
margin: 20rpx;
background-color: #fff;
border-radius: 14rpx;
box-sizing: border-box;
padding: 20rpx;
color: #444;
.address-info {
padding-bottom: 20rpx;
border-bottom: 1rpx solid #eee;
margin-bottom: 20rpx;
.top {
display: flex;
justify-content: space-between;
font-size: 28rpx;
.name {
color: #000;
}
}
.bottom {
font-size: 26rpx;
margin-top: 10rpx;
}
}
.btn-box {
display: flex;
justify-content: space-between;
font-size: 26rpx;
.left{
display: flex;
align-items: center;
image{
width: 40rpx;
height: 40rpx;
margin-right: 6rpx;
}
}
.right {
display: flex;
color: #7a7a7a;
align-items: center;
.btn {
display: flex;
margin-left: 20rpx;
&:active {
color: rgba(#7a7a7a, 0.8);
transition: background-color 0.5s;
animation: disappear 0.5s 0.5s forwards;
}
}
}
}
}
.bottom-fixed{
position: fixed;
bottom: 0;
left: 0;
height: 120rpx;
height: calc(constant(safe-area-inset-bottom) + 120rpx); /* 适用于iOS设备 */
height: calc(env(safe-area-inset-bottom) + 120rpx); /* 适用于Android设备 */
width: 100%;
box-sizing: border-box;
background-color: #fff;
padding: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx); /* 适用于iOS设备 */
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx); /* 适用于Android设备 */
}
@keyframes disappear {
to {
opacity: 0;
/* 渐隐 */
transform: scale(0);
/* 缩小 */
}
}
</style>

View File

@ -15,7 +15,8 @@
</view> </view>
</view> </view>
<view class="address-btn"> <view class="address-btn">
<view style="width: 80px;"><up-button size="small" shape="circle" color="#f6f6f6" :customStyle="{color:'#666666'}">修改</up-button></view> <view style="width: 80px;"><up-button @click="showAddress = true" size="small" shape="circle" color="#f6f6f6"
:customStyle="{color:'#666666'}">修改</up-button></view>
</view> </view>
</view> </view>
<view class="m-card m-good"> <view class="m-card m-good">
@ -54,7 +55,9 @@
<view class="head-title">订单信息</view> <view class="head-title">订单信息</view>
<view class="row"> <view class="row">
<view>订单编号</view> <view>订单编号</view>
<view>wxo13546486484784555 | 复制</view> <up-copy content="wxo13546486484784555">
<text>wxo13546486484784555 | 复制</text>
</up-copy>
</view> </view>
<view class="row"> <view class="row">
<view>下单时间</view> <view>下单时间</view>
@ -66,169 +69,222 @@
</view> </view>
</view> </view>
<view style="width: 100%;height: 200rpx;"></view> <view style="width: 100%;height: 200rpx;"></view>
<view class="btn-box"> <view class="btn-box">
<view style="color: #777777;" @click="showCancel=true">取消订单</view> <view style="color: #777777;" @click="showCancel=true">取消订单</view>
<view style="width: 450rpx;"> <view style="width: 450rpx;">
<up-button color="#20B128" shape="circle">立即支付 ¥50.00</up-button> <up-button color="#20B128" shape="circle">立即支付 ¥50.00</up-button>
</view> </view>
</view> </view>
<up-popup :show="showCancel" closeable round="10" @close="showCancel=false"> <up-popup :show="showCancel" closeable round="10" @close="showCancel=false">
<view class="cancle-popup"> <view class="cancel-popup">
<view class="head-title">订单取消</view> <view class="head-title">订单取消</view>
<view> <view class="row" v-for="(item,index) in cancelDict" :key="item.value" @click="cancelType=item.value">
<view>不想要了</view> <view>{{item.name}}</view>
<!-- <image></image> --> <image v-if="cancelType==item.value" src="@/static/icon/check.png"></image>
<image v-else src="@/static/icon/n-check.png"></image>
</view> </view>
<up-button color="#20B128" shape="circle" @click="submitCancel">提交</up-button>
</view> </view>
</up-popup> </up-popup>
<addressPopup :show="showAddress" @close="showAddress = false" @change="changeAddress"></addressPopup>
<modal :show="false" content="您还没有添加收货地址,请点击添加"></modal>
</view> </view>
</template> </template>
<script setup> <script setup>
import { onLoad } from "@dcloudio/uni-app"; import { onLoad } from "@dcloudio/uni-app";
import { ref } from "vue"; import { ref } from "vue";
import cancelDict from "@/dict/cancelDict.js";
import addressPopup from "@/components/addressPopup.vue";
import modal from "@/components/modal.vue";
const showCancel = ref(false) const showCancel = ref(false);
const showAddress = ref(false);
onLoad((option)=>{ const cancelType = ref(-1); //
uni.setNavigationBarTitle({
title: option.type==1 ? '等待付款' : '订单详情' const submitCancel = () => {
showCancel.value = false;
console.log(cancelType.value);
uni.showToast({
title: '取消成功',
icon: 'none'
})
}
const changeAddress = (e) => {
showAddress.value = false;
console.log(e);
}
onLoad((option) => {
uni.setNavigationBarTitle({
title: option.type == 1 ? '等待付款' : '订单详情'
})
}) })
})
</script> </script>
<style lang="scss"> <style lang="scss">
.count_down{ .count_down {
padding: 20rpx 0; padding: 20rpx 0;
text-align: center; text-align: center;
color: #444444; color: #444444;
text{
color: #F55726; text {
padding: 0 10rpx; color: #F55726;
padding: 0 10rpx;
}
} }
}
.m-card{ .m-card {
width: 710rpx; width: 710rpx;
margin: 0 auto; margin: 0 auto;
background-color: #fff; background-color: #fff;
border-radius: 14rpx; border-radius: 14rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 20rpx; padding: 20rpx;
color: #333333; color: #333333;
} }
.m-address{
margin-bottom: 20rpx; .m-address {
display: flex; margin-bottom: 20rpx;
justify-content: space-between; display: flex;
color: #999999; justify-content: space-between;
color: #999999;
.address-info{
width: 510rpx; .address-info {
.top{ width: 510rpx;
display: flex;
font-size: 28rpx; .top {
.t-name{ display: flex;
color: #444; font-size: 28rpx;
margin: 0 10rpx;
.t-name {
color: #444;
margin: 0 10rpx;
}
}
.bottom {
font-size: 24rpx;
} }
} }
.bottom{
font-size: 24rpx;
}
} }
}
.m-good{ .m-good {
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
.image{
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
}
.body-content{
width: 490rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
color: #989898;
.title{
display: flex;
justify-content: space-between;
font-size: 28rpx;
color: #444;
}
.tips{
display: flex;
justify-content: space-between;
font-size: 24rpx;
margin-top: 10rpx;
}
.time{
background-color: #F6F6F6;
padding: 5rpx 10rpx;
font-size: 26rpx;
color: #444;
border-radius: 10rpx;
}
}
}
.good-info{
margin-bottom: 20rpx;
.head-title{
margin-bottom: 18rpx;
color: #000;
font-weight: bold;
}
.row{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-bottom: 18rpx; margin-bottom: 20rpx;
.red{ .image {
width: 160rpx;
height: 160rpx;
margin-right: 20rpx;
}
.body-content {
width: 490rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
color: #989898;
.title {
display: flex;
justify-content: space-between;
font-size: 28rpx;
color: #444;
}
.tips {
display: flex;
justify-content: space-between;
font-size: 24rpx;
margin-top: 10rpx;
}
.time {
background-color: #F6F6F6;
padding: 5rpx 10rpx;
font-size: 26rpx;
color: #444;
border-radius: 10rpx;
}
}
}
.good-info {
margin-bottom: 20rpx;
.head-title {
margin-bottom: 18rpx;
color: #000;
font-weight: bold;
}
.row {
display: flex;
justify-content: space-between;
margin-bottom: 18rpx;
.red {
color: #F55726;
}
}
.row-need {
display: flex;
justify-content: flex-end;
color: #F55726; color: #F55726;
} }
text {
font-size: 22rpx;
}
} }
.row-need{
.btn-box {
position: fixed;
bottom: 0;
left: 0;
height: 120rpx;
height: calc(constant(safe-area-inset-bottom) + 120rpx);
/* 适用于iOS设备 */
height: calc(env(safe-area-inset-bottom) + 120rpx);
/* 适用于Android设备 */
width: 100%;
box-sizing: border-box;
background-color: #fff;
padding: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx);
/* 适用于iOS设备 */
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
/* 适用于Android设备 */
display: flex; display: flex;
justify-content: flex-end; justify-content: space-between;
color: #F55726; align-items: center;
} }
text{
font-size: 22rpx;
}
}
.btn-box{ .cancel-popup {
position: fixed; padding: 30rpx;
bottom: 0;
left: 0;
height: 120rpx;
height: calc(constant(safe-area-inset-bottom) + 120rpx); /* 适用于iOS设备 */
height: calc(env(safe-area-inset-bottom) + 120rpx); /* 适用于Android设备 */
width: 100%;
box-sizing: border-box;
background-color: #fff;
padding: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx); /* 适用于iOS设备 */
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx); /* 适用于Android设备 */
display: flex;
justify-content: space-between;
align-items: center;
}
.cancle-popup{ .head-title {
height: 500rpx; font-weight: bold;
.head-title{ text-align: center;
font-weight: bold; margin-bottom: 20rpx;
text-align: center; }
height: 80rpx;
line-height: 80rpx; .row {
display: flex;
justify-content: space-between;
padding-bottom: 20rpx;
image {
width: 40rpx;
height: 40rpx;
}
}
} }
} </style>
</style>

View File

@ -1,6 +1,5 @@
<template> <template>
<view> <view>
<up-sticky bgColor="#fff"> <up-sticky bgColor="#fff">
<view style="padding: 10rpx 20rpx 0 20rpx;"> <view style="padding: 10rpx 20rpx 0 20rpx;">
<up-search shape="round" :actionStyle="{color: '#20b128'}" ></up-search> <up-search shape="round" :actionStyle="{color: '#20b128'}" ></up-search>
@ -58,7 +57,7 @@
</scroll-view> </scroll-view>
</swiper-item> </swiper-item>
<!-- 退款/售后 --> <!-- 退款/售后 -->
<swiper-item class="swiper-item"> <!-- <swiper-item class="swiper-item">
<scroll-view scroll-y style="height: 100%;width: 100%;"> <scroll-view scroll-y style="height: 100%;width: 100%;">
<view class="page-box"> <view class="page-box">
<view v-if="true" class="list"> <view v-if="true" class="list">
@ -72,30 +71,27 @@
<view style="width: 100%;height: 200rpx;"></view> <view style="width: 100%;height: 200rpx;"></view>
</view> </view>
</scroll-view> </scroll-view>
</swiper-item> </swiper-item> -->
</swiper> </swiper>
</view> </view>
</template> </template>
<script setup> <script setup>
import { onLoad } from "@dcloudio/uni-app"
import { ref } from 'vue'; import { ref } from 'vue';
import good from "./component/good.vue"; import good from "./component/good.vue";
//
const list = ref(['购物车', '常买', '收藏']);
const tabsActive = ref(0) const tabsActive = ref(0)
//
const changeTab = ({index}) => { const changeTab = ({index}) => {
tabsActive.value = index; tabsActive.value = index;
swiperCurrent.value = index; swiperCurrent.value = index;
} }
const tablist = ref([ const tablist = ref([
{ name: '全部' }, { name: '全部' },
{ name: '待付款' }, { name: '待付款' },
{ name: '待收货' }, { name: '待收货' },
{ name: '退款/售后' }, // { name: '退/' },
]); ]);
const swiperCurrent = ref(0); const swiperCurrent = ref(0);
@ -103,6 +99,14 @@
swiperCurrent.value = current; swiperCurrent.value = current;
tabsActive.value = current; tabsActive.value = current;
} }
onLoad((options)=>{
if(options.type){
tabsActive.value = +options.type;
swiperCurrent.value = +options.type;
}
})
</script> </script>
<style lang="scss"> <style lang="scss">

View File

@ -124,6 +124,8 @@ if (!Math) {
"./pages/my/my.js"; "./pages/my/my.js";
"./pagesOrder/order/order.js"; "./pagesOrder/order/order.js";
"./pagesOrder/detail/detail.js"; "./pagesOrder/detail/detail.js";
"./pagesOrder/addressList/addressList.js";
"./pagesOrder/addressEdit/addressEdit.js";
} }
const _sfc_main = { const _sfc_main = {
onLaunch: function() { onLaunch: function() {

View File

@ -10,7 +10,9 @@
"root": "pagesOrder", "root": "pagesOrder",
"pages": [ "pages": [
"order/order", "order/order",
"detail/detail" "detail/detail",
"addressList/addressList",
"addressEdit/addressEdit"
] ]
} }
], ],

View File

@ -1,5 +1,5 @@
"use strict"; "use strict";
const _imports_0 = "/static/icon/n-check.png"; const _imports_1 = "/static/icon/n-check.png";
const _imports_1 = "/static/icon/check.png"; const _imports_0 = "/static/icon/check.png";
exports._imports_0 = _imports_0; exports._imports_0 = _imports_0;
exports._imports_1 = _imports_1; exports._imports_1 = _imports_1;

View File

@ -6079,6 +6079,10 @@ function stringify(styles) {
} }
return ret; return ret;
} }
function setRef(ref2, id, opts = {}) {
const { $templateRefs } = getCurrentInstance();
$templateRefs.push({ i: id, r: ref2, k: opts.k, f: opts.f });
}
const o = (value, key) => vOn(value, key); const o = (value, key) => vOn(value, key);
const f = (source, renderItem) => vFor(source, renderItem); const f = (source, renderItem) => vFor(source, renderItem);
const s = (value) => stringifyStyle(value); const s = (value) => stringifyStyle(value);
@ -6086,6 +6090,7 @@ const e = (target, ...sources) => extend(target, ...sources);
const n = (value) => normalizeClass(value); const n = (value) => normalizeClass(value);
const t = (val) => toDisplayString(val); const t = (val) => toDisplayString(val);
const p = (props) => renderProps(props); const p = (props) => renderProps(props);
const sr = (ref2, id, opts) => setRef(ref2, id, opts);
function createApp$1(rootComponent, rootProps = null) { function createApp$1(rootComponent, rootProps = null) {
rootComponent && (rootComponent.mpType = "app"); rootComponent && (rootComponent.mpType = "app");
return createVueApp(rootComponent, rootProps).use(plugin); return createVueApp(rootComponent, rootProps).use(plugin);
@ -7708,4 +7713,6 @@ exports.p = p;
exports.ref = ref; exports.ref = ref;
exports.resolveComponent = resolveComponent; exports.resolveComponent = resolveComponent;
exports.s = s; exports.s = s;
exports.sr = sr;
exports.t = t; exports.t = t;
exports.unref = unref;

View File

@ -0,0 +1,88 @@
"use strict";
const common_vendor = require("../common/vendor.js");
const common_assets = require("../common/assets.js");
if (!Array) {
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
const _easycom_u_tag2 = common_vendor.resolveComponent("u-tag");
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
const _easycom_up_popup2 = common_vendor.resolveComponent("up-popup");
(_easycom_up_icon2 + _easycom_u_tag2 + _easycom_up_button2 + _easycom_up_popup2)();
}
const _easycom_up_icon = () => "../uni_modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_u_tag = () => "../uni_modules/uview-plus/components/u-tag/u-tag.js";
const _easycom_up_button = () => "../uni_modules/uview-plus/components/u-button/u-button.js";
const _easycom_up_popup = () => "../uni_modules/uview-plus/components/u-popup/u-popup.js";
if (!Math) {
(_easycom_up_icon + _easycom_u_tag + _easycom_up_button + _easycom_up_popup)();
}
const _sfc_main = {
__name: "addressPopup",
props: {
show: {
type: Boolean,
default: false
}
},
emits: ["close", "change"],
setup(__props, { emit: __emit }) {
const addressType = common_vendor.ref(-1);
const emit = __emit;
const close = () => {
emit("close");
};
const submitAddress = () => {
emit("change", addressType.value);
};
const navTo = (url) => {
common_vendor.index.navigateTo({
url
});
};
return (_ctx, _cache) => {
return {
a: common_vendor.p({
name: "edit-pen",
color: "#20B128"
}),
b: common_vendor.o(($event) => navTo("/pagesOrder/addressList/addressList")),
c: common_vendor.p({
name: "plus",
color: "#20B128"
}),
d: common_vendor.o(($event) => navTo("/pagesOrder/addressEdit/addressEdit")),
e: common_vendor.f(10, (item, index, i0) => {
return common_vendor.e({
a: "dc6b9753-3-" + i0 + ",dc6b9753-0",
b: addressType.value == index
}, addressType.value == index ? {
c: common_assets._imports_0
} : {
d: common_assets._imports_1
}, {
e: index,
f: common_vendor.o(($event) => addressType.value = index, index)
});
}),
f: common_vendor.p({
text: "默认",
type: "success",
plain: true,
size: "mini"
}),
g: common_vendor.o(submitAddress),
h: common_vendor.p({
color: "#20B128",
shape: "circle"
}),
i: common_vendor.o(close),
j: common_vendor.p({
show: __props.show,
closeable: true,
round: "10"
})
};
};
}
};
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-dc6b9753"], ["__file", "D:/里海数字乡村/purchase-let/components/addressPopup.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,9 @@
{
"component": true,
"usingComponents": {
"up-icon": "../uni_modules/uview-plus/components/u-icon/u-icon",
"u-tag": "../uni_modules/uview-plus/components/u-tag/u-tag",
"up-button": "../uni_modules/uview-plus/components/u-button/u-button",
"up-popup": "../uni_modules/uview-plus/components/u-popup/u-popup"
}
}

View File

@ -0,0 +1 @@
<up-popup wx:if="{{j}}" class="data-v-dc6b9753" u-s="{{['d']}}" bindclose="{{i}}" u-i="dc6b9753-0" bind:__l="__l" u-p="{{j}}"><view class="address-popup data-v-dc6b9753"><view class="head-title data-v-dc6b9753">收货地址</view><view class="list-admin data-v-dc6b9753"><view class="data-v-dc6b9753">常用地址</view><view class="admin-btn data-v-dc6b9753"><view class="btn data-v-dc6b9753" bindtap="{{b}}"><up-icon wx:if="{{a}}" class="data-v-dc6b9753" u-i="dc6b9753-1,dc6b9753-0" bind:__l="__l" u-p="{{a}}"></up-icon>管理</view><view class="btn data-v-dc6b9753" bindtap="{{d}}"><up-icon wx:if="{{c}}" class="data-v-dc6b9753" u-i="dc6b9753-2,dc6b9753-0" bind:__l="__l" u-p="{{c}}"></up-icon>新增</view></view></view><scroll-view class="data-v-dc6b9753" style="height:600rpx;padding-bottom:20rpx" scroll-y><view wx:for="{{e}}" wx:for-item="item" wx:key="e" class="row data-v-dc6b9753" bindtap="{{item.f}}"><view class="content data-v-dc6b9753"><view class="top data-v-dc6b9753"><view class="name data-v-dc6b9753">小李</view><view class="phone data-v-dc6b9753">151****9999</view><u-tag wx:if="{{f}}" class="data-v-dc6b9753" style="pointer-events:none" u-i="{{item.a}}" bind:__l="__l" u-p="{{f}}"></u-tag></view><view class="bottom u-line-2 data-v-dc6b9753">四川泸州市龙马潭区莲花池街道商业街1号</view></view><image wx:if="{{item.b}}" class="data-v-dc6b9753" src="{{item.c}}"></image><image wx:else class="data-v-dc6b9753" src="{{item.d}}"></image></view></scroll-view><up-button wx:if="{{h}}" class="data-v-dc6b9753" u-s="{{['d']}}" bindclick="{{g}}" u-i="dc6b9753-4,dc6b9753-0" bind:__l="__l" u-p="{{h}}">确认</up-button></view></up-popup>

View File

@ -0,0 +1,83 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.address-popup.data-v-dc6b9753 {
padding: 30rpx;
}
.address-popup .head-title.data-v-dc6b9753 {
font-weight: bold;
text-align: center;
margin-bottom: 20rpx;
}
.address-popup .list-admin.data-v-dc6b9753 {
display: flex;
justify-content: space-between;
margin-bottom: 20rpx;
}
.address-popup .list-admin .admin-btn.data-v-dc6b9753 {
display: flex;
color: #20B128;
}
.address-popup .list-admin .admin-btn .btn.data-v-dc6b9753 {
margin-left: 20rpx;
display: flex;
align-items: center;
}
.address-popup .list-admin .admin-btn .btn.data-v-dc6b9753:active {
color: rgba(32, 177, 40, 0.8);
transition: background-color 0.5s;
animation: disappear-dc6b9753 0.5s 0.5s forwards;
}
.address-popup .row.data-v-dc6b9753 {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #eee;
margin-bottom: 20rpx;
}
.address-popup .row.data-v-dc6b9753:last-child {
border-bottom: none;
margin-bottom: 0;
}
.address-popup .row .content .top.data-v-dc6b9753 {
display: flex;
}
.address-popup .row .content .top view.data-v-dc6b9753 {
margin-right: 20rpx;
}
.address-popup .row image.data-v-dc6b9753 {
width: 40rpx;
height: 40rpx;
flex-shrink: 0;
}
@keyframes disappear-dc6b9753 {
to {
opacity: 0;
/* 渐隐 */
transform: scale(0);
/* 缩小 */
}
}

View File

@ -0,0 +1,72 @@
"use strict";
const common_vendor = require("../common/vendor.js");
if (!Array) {
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
const _easycom_up_popup2 = common_vendor.resolveComponent("up-popup");
(_easycom_up_button2 + _easycom_up_popup2)();
}
const _easycom_up_button = () => "../uni_modules/uview-plus/components/u-button/u-button.js";
const _easycom_up_popup = () => "../uni_modules/uview-plus/components/u-popup/u-popup.js";
if (!Math) {
(_easycom_up_button + _easycom_up_popup)();
}
const _sfc_main = {
__name: "modal",
props: {
show: {
type: Boolean,
default: false
},
title: {
type: String,
default: "确认操作吗"
},
content: {
type: String,
default: "确认后继续下一步操作"
},
confirmText: {
type: String,
default: "确认"
},
cancleText: {
type: String,
default: "取消"
}
},
emits: ["close", "change"],
setup(__props, { emit: __emit }) {
const emit = __emit;
const close = () => {
emit("close");
};
const change = () => {
emit("change");
};
return (_ctx, _cache) => {
return {
a: common_vendor.t(__props.title),
b: common_vendor.t(__props.content),
c: common_vendor.t(__props.cancleText),
d: common_vendor.o(close),
e: common_vendor.p({
plain: true,
color: "#999"
}),
f: common_vendor.t(__props.confirmText),
g: common_vendor.o(change),
h: common_vendor.p({
color: "#20B128"
}),
i: common_vendor.o(close),
j: common_vendor.p({
show: __props.show,
round: "10",
mode: "center"
})
};
};
}
};
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b2596e17"], ["__file", "D:/里海数字乡村/purchase-let/components/modal.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"up-button": "../uni_modules/uview-plus/components/u-button/u-button",
"up-popup": "../uni_modules/uview-plus/components/u-popup/u-popup"
}
}

View File

@ -0,0 +1 @@
<up-popup wx:if="{{j}}" class="data-v-b2596e17" u-s="{{['d']}}" bindclose="{{i}}" u-i="b2596e17-0" bind:__l="__l" u-p="{{j}}"><view class="modal-popup data-v-b2596e17"><view class="head-title data-v-b2596e17">{{a}}</view><view class="content data-v-b2596e17">{{b}}</view><view class="btn-box data-v-b2596e17"><view class="data-v-b2596e17" style="width:230rpx"><up-button wx:if="{{e}}" class="data-v-b2596e17" u-s="{{['d']}}" bindclick="{{d}}" u-i="b2596e17-1,b2596e17-0" bind:__l="__l" u-p="{{e}}">{{c}}</up-button></view><view class="data-v-b2596e17" style="width:230rpx"><up-button wx:if="{{h}}" class="data-v-b2596e17" u-s="{{['d']}}" bindclick="{{g}}" u-i="b2596e17-2,b2596e17-0" bind:__l="__l" u-p="{{h}}">{{f}}</up-button></view></view></view></up-popup>

View File

@ -0,0 +1,43 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.modal-popup.data-v-b2596e17 {
width: 500rpx;
padding: 40rpx;
}
.modal-popup .head-title.data-v-b2596e17 {
font-size: 32rpx;
text-align: center;
}
.modal-popup .content.data-v-b2596e17 {
font-size: 26rpx;
color: #999;
text-align: center;
padding: 40rpx 0;
}
.modal-popup .btn-box.data-v-b2596e17 {
display: flex;
justify-content: space-between;
}

View File

@ -1,15 +1,15 @@
"use strict"; "use strict";
const common_vendor = require("../../common/vendor.js"); const common_vendor = require("../common/vendor.js");
if (!Array) { if (!Array) {
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon"); const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
_easycom_up_icon2(); _easycom_up_icon2();
} }
const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js"; const _easycom_up_icon = () => "../uni_modules/uview-plus/components/u-icon/u-icon.js";
if (!Math) { if (!Math) {
_easycom_up_icon(); _easycom_up_icon();
} }
const _sfc_main = { const _sfc_main = {
__name: "index", __name: "viewPopup",
props: { props: {
nav: { nav: {
type: Boolean, type: Boolean,
@ -54,5 +54,5 @@ const _sfc_main = {
}; };
} }
}; };
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-db7dc4ea"], ["__file", "D:/里海数字乡村/purchase-let/components/viewPopup/index.vue"]]); const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9faf4b3c"], ["__file", "D:/里海数字乡村/purchase-let/components/viewPopup.vue"]]);
wx.createComponent(Component); wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"up-icon": "../uni_modules/uview-plus/components/u-icon/u-icon"
}
}

View File

@ -0,0 +1 @@
<view class="view-popup data-v-9faf4b3c"><view wx:if="{{a}}" class="data-v-9faf4b3c" style="{{'width:100%' + ';' + ('height:' + b)}}"></view><view class="center data-v-9faf4b3c"><slot></slot><view class="up data-v-9faf4b3c" bindtap="{{d}}"><text class="data-v-9faf4b3c">点击收起</text><up-icon wx:if="{{c}}" class="data-v-9faf4b3c" u-i="9faf4b3c-0" bind:__l="__l" u-p="{{c}}"></up-icon></view></view></view>

View File

@ -23,7 +23,7 @@
/* 垂直间距 */ /* 垂直间距 */
/* 透明度 */ /* 透明度 */
/* 文章场景相关 */ /* 文章场景相关 */
.view-popup.data-v-db7dc4ea { .view-popup.data-v-9faf4b3c {
height: 100vh; height: 100vh;
width: 100%; width: 100%;
background-color: rgba(0, 0, 0, 0.3); background-color: rgba(0, 0, 0, 0.3);
@ -32,10 +32,10 @@
left: 0; left: 0;
z-index: 10; z-index: 10;
} }
.view-popup .center.data-v-db7dc4ea { .view-popup .center.data-v-9faf4b3c {
animation: slideDown-db7dc4ea 0.3s forwards; animation: slideDown-9faf4b3c 0.3s forwards;
} }
.view-popup .up.data-v-db7dc4ea { .view-popup .up.data-v-9faf4b3c {
width: 100%; width: 100%;
height: 80rpx; height: 80rpx;
background-color: #fff; background-color: #fff;
@ -46,7 +46,7 @@
align-items: center; align-items: center;
font-size: 24rpx; font-size: 24rpx;
} }
@keyframes slideDown-db7dc4ea { @keyframes slideDown-9faf4b3c {
from { from {
transform: translateY(-100%); transform: translateY(-100%);
/* 初始状态向上偏移100% */ /* 初始状态向上偏移100% */

View File

@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon"
}
}

View File

@ -1 +0,0 @@
<view class="view-popup data-v-db7dc4ea"><view wx:if="{{a}}" class="data-v-db7dc4ea" style="{{'width:100%' + ';' + ('height:' + b)}}"></view><view class="center data-v-db7dc4ea"><slot></slot><view class="up data-v-db7dc4ea" bindtap="{{d}}"><text class="data-v-db7dc4ea">点击收起</text><up-icon wx:if="{{c}}" class="data-v-db7dc4ea" u-i="db7dc4ea-0" bind:__l="__l" u-p="{{c}}"></up-icon></view></view></view>

View File

@ -0,0 +1,32 @@
"use strict";
const list = [
{
name: "不想要了/临时有事",
value: 1
},
{
name: "点错了/点多了/点少了",
value: 2
},
{
name: "地址/电话填错了",
value: 3
},
{
name: "送达时间选错了",
value: 4
},
{
name: "支付遇到问题",
value: 5
},
{
name: "其他平台更便宜",
value: 6
},
{
name: "其他原因",
value: 7
}
];
exports.list = list;

View File

@ -31,6 +31,8 @@ const _sfc_main = {
swiperCurrent.value = current; swiperCurrent.value = current;
tabsActive.value = current; tabsActive.value = current;
}; };
const settleAccounts = () => {
};
return (_ctx, _cache) => { return (_ctx, _cache) => {
return common_vendor.e({ return common_vendor.e({
a: common_vendor.f(list.value, (item, index, i0) => { a: common_vendor.f(list.value, (item, index, i0) => {
@ -49,9 +51,9 @@ const _sfc_main = {
return common_vendor.e({ return common_vendor.e({
a: index % 3 == 0 a: index % 3 == 0
}, index % 3 == 0 ? { }, index % 3 == 0 ? {
b: common_assets._imports_0 b: common_assets._imports_1
} : { } : {
c: common_assets._imports_1 c: common_assets._imports_0
}, { }, {
d: "da603134-1-" + i0, d: "da603134-1-" + i0,
e: "da603134-2-" + i0, e: "da603134-2-" + i0,
@ -86,19 +88,13 @@ const _sfc_main = {
k: swiperCurrent.value, k: swiperCurrent.value,
l: common_vendor.o(animationfinish) l: common_vendor.o(animationfinish)
}, { }, {
n: common_assets._imports_1 n: common_assets._imports_0
}, { }, {
o: common_vendor.o(settleAccounts),
p: common_vendor.p({ p: common_vendor.p({
size: "small", color: "#20b128",
plain: true, shape: "circle",
color: "#989898", disabled: false
shape: "circle"
}),
q: common_vendor.p({
size: "small",
plain: true,
color: "#989898",
shape: "circle"
}) })
}, { }, {
r: common_vendor.p({ r: common_vendor.p({

View File

@ -1 +1 @@
<view><up-navbar wx:if="{{b}}" u-s="{{['left']}}" u-i="da603134-0" bind:__l="__l" u-p="{{b}}"><view style="display:flex" slot="left"><view wx:for="{{a}}" wx:for-item="item" wx:key="c" class="{{['tabs', item.b && 'tabs-active']}}" bindtap="{{item.d}}">{{item.a}}</view></view></up-navbar><swiper class="swiper-box" current="{{k}}" bindanimationfinish="{{l}}"><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box1"><view class="total"><view>共计<text style="color:#20B128">3</text>件</view><view wx:if="{{true}}">管理</view><view wx:else>完成</view></view><view wx:if="{{true}}" class="list" style="margin-top:80rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="f" class="shop-item"><view class="shop-check"><image wx:if="{{item.a}}" src="{{item.b}}"></image><image wx:else src="{{item.c}}"></image></view><image class="shop-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="shop-content"><view class="title"><view class="name u-line-2">好吃的瓜果</view><view class="tip u-line-1">香味辛辣|葱香味浓|调味增香香味辛辣|葱香味浓|调味增香</view></view><view class="price-btn"><view class="price">¥12.00</view><view class="btn"><u--icon wx:if="{{d}}" u-i="{{item.d}}" bind:__l="__l" u-p="{{d}}"></u--icon><view class="num">{{e}}</view><u--icon wx:if="{{f}}" u-i="{{item.e}}" bind:__l="__l" u-p="{{f}}"></u--icon></view></view></view></view></view><view wx:else style="margin-top:100rpx"><up-empty wx:if="{{g}}" u-i="da603134-3" bind:__l="__l" u-p="{{g}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box1"><view wx:if="{{true}}" class="list"><view wx:for="{{h}}" wx:for-item="item" wx:key="b" class="shop-item"><image class="shop-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="shop-content" style="width:490rpx"><view class="title"><view class="name u-line-2">好吃的瓜果</view><view class="tip u-line-1">香味辛辣|葱香味浓|调味增香香味辛辣|葱香味浓|调味增香</view></view><view class="price-btn"><view class="price">¥12.00</view><view class="btn"><up-button wx:if="{{i}}" u-s="{{['d']}}" u-i="{{item.a}}" bind:__l="__l" u-p="{{i}}">加入购物车</up-button></view></view></view></view></view><view wx:else style="margin-top:100rpx"><up-empty wx:if="{{j}}" u-i="da603134-5" bind:__l="__l" u-p="{{j}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item></swiper><up-transition wx:if="{{r}}" u-s="{{['d']}}" u-i="da603134-6" bind:__l="__l" u-p="{{r}}"><view class="cart-btn"><view class="cart-check"><image wx:if="{{false}}" src="{{m}}"></image><image wx:else src="{{n}}"></image><text style="font-size:24rpx">全选</text></view><view wx:if="{{false}}" class="btn-box"><view class="all-price"><view style="width:80rpx">合计:</view><view class="price"><text style="font-size:24rpx">¥</text><text style="font-size:34rpx">20</text><text style="font-size:24rpx">.30</text></view></view><up-button wx:if="{{o}}" u-s="{{['d']}}" u-i="da603134-7,da603134-6" bind:__l="__l" u-p="{{o}}">去结算<text>(2)</text></up-button></view><view wx:else class="btn-box"><view style="width:100px;margin-right:20rpx"><up-button wx:if="{{p}}" u-s="{{['d']}}" u-i="da603134-8,da603134-6" bind:__l="__l" u-p="{{p}}">移入收藏夹</up-button></view><view style="width:80px"><up-button wx:if="{{q}}" u-s="{{['d']}}" u-i="da603134-9,da603134-6" bind:__l="__l" u-p="{{q}}">删除</up-button></view></view></view></up-transition></view> <view><up-navbar wx:if="{{b}}" u-s="{{['left']}}" u-i="da603134-0" bind:__l="__l" u-p="{{b}}"><view style="display:flex" slot="left"><view wx:for="{{a}}" wx:for-item="item" wx:key="c" class="{{['tabs', item.b && 'tabs-active']}}" bindtap="{{item.d}}">{{item.a}}</view></view></up-navbar><swiper class="swiper-box" current="{{k}}" bindanimationfinish="{{l}}"><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box1"><view class="total"><view>共计<text style="color:#20B128">3</text>件</view><view wx:if="{{true}}">管理</view><view wx:else>完成</view></view><view wx:if="{{true}}" class="list" style="margin-top:80rpx"><view wx:for="{{c}}" wx:for-item="item" wx:key="f" class="shop-item"><view class="shop-check"><image wx:if="{{item.a}}" src="{{item.b}}"></image><image wx:else src="{{item.c}}"></image></view><image class="shop-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="shop-content"><view class="title"><view class="name u-line-2">好吃的瓜果</view><view class="tip u-line-1">香味辛辣|葱香味浓|调味增香香味辛辣|葱香味浓|调味增香</view></view><view class="price-btn"><view class="price">¥12.00</view><view class="btn"><u--icon wx:if="{{d}}" u-i="{{item.d}}" bind:__l="__l" u-p="{{d}}"></u--icon><view class="num">{{e}}</view><u--icon wx:if="{{f}}" u-i="{{item.e}}" bind:__l="__l" u-p="{{f}}"></u--icon></view></view></view></view></view><view wx:else style="margin-top:100rpx"><up-empty wx:if="{{g}}" u-i="da603134-3" bind:__l="__l" u-p="{{g}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box1"><view wx:if="{{true}}" class="list"><view wx:for="{{h}}" wx:for-item="item" wx:key="b" class="shop-item"><image class="shop-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="shop-content" style="width:490rpx"><view class="title"><view class="name u-line-2">好吃的瓜果</view><view class="tip u-line-1">香味辛辣|葱香味浓|调味增香香味辛辣|葱香味浓|调味增香</view></view><view class="price-btn"><view class="price">¥12.00</view><view class="btn"><up-button wx:if="{{i}}" u-s="{{['d']}}" u-i="{{item.a}}" bind:__l="__l" u-p="{{i}}">加入购物车</up-button></view></view></view></view></view><view wx:else style="margin-top:100rpx"><up-empty wx:if="{{j}}" u-i="da603134-5" bind:__l="__l" u-p="{{j}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item></swiper><up-transition wx:if="{{r}}" u-s="{{['d']}}" u-i="da603134-6" bind:__l="__l" u-p="{{r}}"><view class="cart-btn"><view class="cart-check"><image wx:if="{{false}}" src="{{m}}"></image><image wx:else src="{{n}}"></image><text style="font-size:24rpx">全选</text></view><view wx:if="{{true}}" class="btn-box"><view class="all-price"><view style="width:80rpx">合计:</view><view class="price"><text style="font-size:24rpx">¥</text><text style="font-size:34rpx">20</text><text style="font-size:24rpx">.30</text></view></view><up-button wx:if="{{p}}" u-s="{{['d']}}" bindclick="{{o}}" u-i="da603134-7,da603134-6" bind:__l="__l" u-p="{{p}}">去结算<text>(2)</text></up-button></view><view wx:else class="btn-box"><view style="width:80px"><up-button wx:if="{{q}}" u-s="{{['d']}}" u-i="da603134-8,da603134-6" bind:__l="__l" u-p="{{q}}">删除</up-button></view></view></view></up-transition></view>

View File

@ -14,79 +14,130 @@ const _easycom_u__icon = () => "../../uni_modules/uview-plus/components/u-icon/u
if (!Math) { if (!Math) {
(_easycom_up_search + _easycom_up_navbar + _easycom_up_icon + viewPopup + _easycom_u__icon)(); (_easycom_up_search + _easycom_up_navbar + _easycom_up_icon + viewPopup + _easycom_u__icon)();
} }
const viewPopup = () => "../../components/viewPopup/index.js"; const viewPopup = () => "../../components/viewPopup.js";
const _sfc_main = { const _sfc_main = {
__name: "index", __name: "index",
setup(__props) { setup(__props) {
const topActive = common_vendor.ref(0);
const leftActive = common_vendor.ref(2);
const rightActive = common_vendor.ref(1);
const show = common_vendor.ref(0); const show = common_vendor.ref(0);
const topActive = common_vendor.ref(0);
const changeOne = (item, index) => {
console.log("选择", item, index);
topActive.value = index;
show.value = 0;
};
const leftActive = common_vendor.ref(2);
const changeTwo = (item, index) => {
console.log("选择", item, index);
leftActive.value = index;
show.value = 0;
};
const rightActive = common_vendor.ref(1);
const changeThree = (item, index) => {
console.log("选择", item, index);
rightActive.value = index;
show.value = 0;
};
const keyword = common_vendor.ref(""); const keyword = common_vendor.ref("");
const searchKeyword = () => {
console.log("搜索", keyword.value);
where.value = keyword.value;
};
const changeOrder = (order) => {
console.log("排序", order);
where.value.order = order;
};
const where = common_vendor.ref({
page: 1,
pageSize: 15,
keyword: "",
order: ""
});
const loading = common_vendor.ref(true);
const getGoodList = () => {
loading.value = true;
setTimeout(() => {
loading.value = false;
}, 3e3);
};
common_vendor.onLoad(() => {
getGoodList();
});
return (_ctx, _cache) => { return (_ctx, _cache) => {
return common_vendor.e({ return common_vendor.e({
a: common_vendor.o(($event) => keyword.value = $event), a: common_vendor.o(searchKeyword),
b: common_vendor.p({ b: common_vendor.o(($event) => keyword.value = $event),
c: common_vendor.p({
placeholder: "请输入商品", placeholder: "请输入商品",
showAction: false, showAction: false,
modelValue: keyword.value modelValue: keyword.value
}), }),
c: common_vendor.p({ d: common_vendor.p({
placeholder: true placeholder: true
}), }),
d: common_vendor.f(10, (item, index, i0) => { e: common_vendor.f(10, (item, index, i0) => {
return { return {
a: common_vendor.t(item), a: common_vendor.t(item),
b: topActive.value == index ? 1 : "", b: topActive.value == index ? 1 : "",
c: index c: index,
d: common_vendor.o(($event) => changeOne(item, index), index)
}; };
}), }),
e: common_vendor.p({ f: common_vendor.p({
name: "list" name: "list"
}), }),
f: common_vendor.o(($event) => show.value = 1), g: common_vendor.o(($event) => show.value = 1),
g: show.value === 1 h: show.value === 1
}, show.value === 1 ? { }, show.value === 1 ? {
h: common_vendor.f(55, (item, index, i0) => { i: common_vendor.f(10, (item, index, i0) => {
return { return {
a: common_vendor.t(item), a: common_vendor.t(item),
b: topActive.value == index ? 1 : "", b: topActive.value == index ? 1 : "",
c: index c: index,
d: common_vendor.o(($event) => changeOne(item, index), index)
}; };
}), }),
i: common_vendor.o(($event) => show.value = 0), j: common_vendor.o(($event) => show.value = 0),
j: common_vendor.p({ k: common_vendor.p({
nav: true nav: true
}) })
} : {}, { } : {}, {
k: common_vendor.f(20, (item, index, i0) => { l: common_vendor.f(20, (item, index, i0) => {
return { return {
a: common_vendor.t(item), a: common_vendor.t(item),
b: leftActive.value == index ? 1 : "", b: leftActive.value == index ? 1 : "",
c: index c: index,
d: common_vendor.o(($event) => changeTwo(item, index), index)
}; };
}), }),
l: common_vendor.f(6, (item, index, i0) => { m: common_vendor.f(6, (item, index, i0) => {
return { return {
a: rightActive.value == index ? 1 : "", a: rightActive.value == index ? 1 : "",
b: index b: index,
c: common_vendor.o(($event) => changeThree(item, index), index)
}; };
}), }),
m: common_vendor.p({ n: common_vendor.p({
name: "arrow-down" name: "arrow-down"
}), }),
n: common_vendor.o(($event) => show.value = 2), o: common_vendor.o(($event) => show.value = 2),
o: show.value === 2 p: where.value.order == "" ? 1 : "",
q: common_vendor.o(($event) => changeOrder("")),
r: where.value.order == "desc" || where.value.order == "asc" ? 1 : "",
s: common_vendor.o(($event) => changeOrder(where.value.order == "asc" ? "desc" : "asc")),
t: where.value.order == "sales" ? 1 : "",
v: common_vendor.o(($event) => changeOrder("sales")),
w: show.value === 2
}, show.value === 2 ? { }, show.value === 2 ? {
p: common_vendor.f(6, (item, index, i0) => { x: common_vendor.f(6, (item, index, i0) => {
return { return {
a: rightActive.value == index ? 1 : "", a: rightActive.value == index ? 1 : "",
b: index b: index,
c: common_vendor.o(($event) => changeThree(item, index), index)
}; };
}), }),
q: common_vendor.o(($event) => show.value = 0) y: common_vendor.o(($event) => show.value = 0)
} : {}, { } : {}, {
r: common_vendor.f(20, (item, index, i0) => { z: common_vendor.f(20, (item, index, i0) => {
return { return {
a: common_vendor.t(item), a: common_vendor.t(item),
b: "1ba6254c-6-" + i0, b: "1ba6254c-6-" + i0,
@ -94,13 +145,13 @@ const _sfc_main = {
d: index d: index
}; };
}), }),
s: common_vendor.p({ A: common_vendor.p({
name: "minus-circle-fill", name: "minus-circle-fill",
size: "20", size: "20",
color: "#20b128" color: "#20b128"
}), }),
t: common_vendor.t(1), B: common_vendor.t(1),
v: common_vendor.p({ C: common_vendor.p({
name: "plus-circle-fill", name: "plus-circle-fill",
size: "20", size: "20",
color: "#20b128" color: "#20b128"

View File

@ -7,6 +7,6 @@
"up-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar", "up-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar",
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon", "up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
"u--icon": "../../uni_modules/uview-plus/components/u-icon/u-icon", "u--icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
"view-popup": "../../components/viewPopup/index" "view-popup": "../../components/viewPopup"
} }
} }

View File

@ -1 +1 @@
<view class="content"><up-navbar wx:if="{{c}}" u-s="{{['left']}}" style="z-index:10080" u-i="1ba6254c-0" bind:__l="__l" u-p="{{c}}"><view style="width:540rpx" slot="left"><up-search wx:if="{{b}}" u-i="1ba6254c-1,1ba6254c-0" bind:__l="__l" bindupdateModelValue="{{a}}" u-p="{{b}}"></up-search></view></up-navbar><view style="position:relative;overflow:hidden"><scroll-view class="head-view" scroll-x><view class="list"><view wx:for="{{d}}" wx:for-item="item" wx:key="c" class="{{['item', item.b && 'item-active']}}"><image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="c-text u-line-1">惠农生活{{item.a}}</view></view><view class="item" style="width:80rpx;height:20rpx"></view></view></scroll-view><view class="r-btn" bindtap="{{f}}"><view>全</view><view>部</view><up-icon wx:if="{{e}}" u-i="1ba6254c-2" bind:__l="__l" u-p="{{e}}"></up-icon></view></view><view-popup wx:if="{{g}}" u-s="{{['d']}}" bindclose="{{i}}" u-i="1ba6254c-3" bind:__l="__l" u-p="{{j}}"><view class="cateOne"><view class="head-title">全部分类</view><scroll-view scroll-y style="height:60vh"><view class="list"><view wx:for="{{h}}" wx:for-item="item" wx:key="c" class="{{['item', item.b && 'item-active']}}"><image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="c-text u-line-1">惠农生活{{item.a}}</view></view></view></scroll-view></view></view-popup><view class="scroll-box"><scroll-view class="left" scroll-y><view wx:for="{{k}}" wx:for-item="item" wx:key="c" class="{{['item', 'u-line-1', item.b && 'item-active']}}">惠农生活{{item.a}}</view><view style="width:100%;height:200rpx"></view></scroll-view><view class="right"><view class="classify"><scroll-view style="height:90rpx" scroll-x><view class="classify-list"><view wx:for="{{l}}" wx:for-item="item" wx:key="b" class="{{['classify-list-item', 'u-line-1', item.a && 'item-active']}}"> 牛肉 </view><view style="width:70rpx;flex-shrink:0"></view></view></scroll-view><view class="done" bindtap="{{n}}"><up-icon wx:if="{{m}}" u-i="1ba6254c-4" bind:__l="__l" u-p="{{m}}"></up-icon></view><view class="order-by"><view class="item">综合</view><view class="item">价格</view><view class="item">销量</view></view></view><view-popup wx:if="{{o}}" u-s="{{['d']}}" bindclose="{{q}}" u-i="1ba6254c-5" bind:__l="__l"><view class="cateOne"><scroll-view scroll-y style="height:230rpx"><view class="classify-list"><view wx:for="{{p}}" wx:for-item="item" wx:key="b" class="{{['classify-list-item', 'u-line-1', item.a && 'item-active']}}"> 牛肉 </view></view></scroll-view></view></view-popup><scroll-view class="list" scroll-y><view wx:for="{{r}}" wx:for-item="item" wx:key="d" class="shop-item"><image class="shop-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="shop-content"><view class="title"><view class="name u-line-2">好吃的瓜果{{item.a}}</view><view class="tip u-line-1">香味辛辣|葱香味浓|调味增香香味辛辣|葱香味浓|调味增香</view></view><view class="price-btn"><view class="price">¥12.00</view><view class="btn"><u--icon wx:if="{{s}}" u-i="{{item.b}}" bind:__l="__l" u-p="{{s}}"></u--icon><view class="num">{{t}}</view><u--icon wx:if="{{v}}" u-i="{{item.c}}" bind:__l="__l" u-p="{{v}}"></u--icon></view></view></view></view><view style="width:100%;height:200rpx"></view></scroll-view></view></view></view> <view class="content"><up-navbar wx:if="{{d}}" u-s="{{['left']}}" style="z-index:10080" u-i="1ba6254c-0" bind:__l="__l" u-p="{{d}}"><view style="width:500rpx" slot="left"><up-search wx:if="{{c}}" bindsearch="{{a}}" u-i="1ba6254c-1,1ba6254c-0" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"></up-search></view></up-navbar><view style="position:relative;overflow:hidden"><scroll-view class="head-view" scroll-x><view class="list"><view wx:for="{{e}}" wx:for-item="item" wx:key="c" class="{{['item', item.b && 'item-active']}}" bindtap="{{item.d}}"><image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="c-text u-line-1">惠农生活{{item.a}}</view></view><view class="item" style="width:80rpx;height:20rpx"></view></view></scroll-view><view class="r-btn" bindtap="{{g}}"><view>全</view><view>部</view><up-icon wx:if="{{f}}" u-i="1ba6254c-2" bind:__l="__l" u-p="{{f}}"></up-icon></view></view><view-popup wx:if="{{h}}" u-s="{{['d']}}" bindclose="{{j}}" u-i="1ba6254c-3" bind:__l="__l" u-p="{{k}}"><view class="cateOne"><view class="head-title">全部分类</view><scroll-view scroll-y style="height:600rpx"><view class="list"><view wx:for="{{i}}" wx:for-item="item" wx:key="c" class="{{['item', item.b && 'item-active']}}" bindtap="{{item.d}}"><image class="c-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="c-text u-line-1">惠农生活{{item.a}}</view></view></view></scroll-view></view></view-popup><view class="scroll-box"><scroll-view class="left" scroll-y><view wx:for="{{l}}" wx:for-item="item" wx:key="c" class="{{['item', 'u-line-1', item.b && 'item-active']}}" bindtap="{{item.d}}">惠农生活{{item.a}}</view><view style="width:100%;height:200rpx"></view></scroll-view><view class="right"><view class="classify"><scroll-view style="height:90rpx" scroll-x><view class="classify-list"><view wx:for="{{m}}" wx:for-item="item" wx:key="b" class="{{['classify-list-item', 'u-line-1', item.a && 'item-active']}}" bindtap="{{item.c}}"> 牛肉 </view><view style="width:70rpx;flex-shrink:0"></view></view></scroll-view><view class="done" bindtap="{{o}}"><up-icon wx:if="{{n}}" u-i="1ba6254c-4" bind:__l="__l" u-p="{{n}}"></up-icon></view><view class="order-by"><view class="{{['item', p && 'order-active']}}" bindtap="{{q}}">综合</view><view class="{{['item', r && 'order-active']}}" bindtap="{{s}}">价格</view><view class="{{['item', t && 'order-active']}}" bindtap="{{v}}">销量</view></view></view><view-popup wx:if="{{w}}" u-s="{{['d']}}" bindclose="{{y}}" u-i="1ba6254c-5" bind:__l="__l"><view class="cateOne"><scroll-view scroll-y style="height:230rpx"><view class="classify-list"><view wx:for="{{x}}" wx:for-item="item" wx:key="b" class="{{['classify-list-item', 'u-line-1', item.a && 'item-active']}}" bindtap="{{item.c}}"> 牛肉 </view></view></scroll-view></view></view-popup><scroll-view class="list" scroll-y><view wx:for="{{z}}" wx:for-item="item" wx:key="d" class="shop-item"><image class="shop-img" src="https://cdn.uviewui.com/uview/album/1.jpg"></image><view class="shop-content"><view class="title"><view class="name u-line-2">好吃的瓜果{{item.a}}</view><view class="tip u-line-1">香味辛辣|葱香味浓|调味增香香味辛辣|葱香味浓|调味增香</view></view><view class="price-btn"><view class="price">¥12.00</view><view class="btn"><u--icon wx:if="{{A}}" u-i="{{item.b}}" bind:__l="__l" u-p="{{A}}"></u--icon><view class="num">{{B}}</view><u--icon wx:if="{{C}}" u-i="{{item.c}}" bind:__l="__l" u-p="{{C}}"></u--icon></view></view></view></view><view style="width:100%;height:200rpx"></view></scroll-view></view></view></view>

View File

@ -235,6 +235,9 @@
.scroll-box .right .classify .order-by .item { .scroll-box .right .classify .order-by .item {
padding-right: 20rpx; padding-right: 20rpx;
} }
.scroll-box .right .classify .order-by .order-active {
color: #20b128;
}
.scroll-box .right .list { .scroll-box .right .list {
height: calc(100vh - var(--window-top) - var(--window-bottom) - 180rpx - 150rpx); height: calc(100vh - var(--window-top) - var(--window-bottom) - 180rpx - 150rpx);
} }

View File

@ -1,12 +1,39 @@
"use strict"; "use strict";
const store_user = require("../../store/user.js");
const common_vendor = require("../../common/vendor.js"); const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const store_user = require("../../store/user.js");
if (!Array) {
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
(_easycom_up_icon2 + _easycom_up_button2)();
}
const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
if (!Math) {
(_easycom_up_icon + _easycom_up_button)();
}
const _sfc_main = { const _sfc_main = {
__name: "login", __name: "login",
setup(__props) { setup(__props) {
store_user.useUserStore(); store_user.useUserStore();
return (_ctx, _cache) => { return (_ctx, _cache) => {
return {}; return common_vendor.e({
a: common_vendor.p({
name: "weixin-fill",
color: "#fff",
size: "28"
}),
b: common_vendor.p({
color: "#20B128",
size: "large"
}),
c: common_vendor.p({
color: "#ECFFEE",
size: "large"
})
}, {
d: common_assets._imports_1
});
}; };
} }
}; };

View File

@ -1,5 +1,8 @@
{ {
"navigationBarTitleText": "登录", "navigationBarTitleText": "登录",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"usingComponents": {} "usingComponents": {
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button"
}
} }

View File

@ -1 +1 @@
<view></view> <view><view class="login-box"><image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png"></image><view class="tips">欢迎登录里海商户采购平台</view><block wx:if="{{true}}"><view class="btn"><up-button wx:if="{{b}}" u-s="{{['d']}}" u-i="23c3038c-0" bind:__l="__l" u-p="{{b}}"><up-icon wx:if="{{a}}" u-i="23c3038c-1,23c3038c-0" bind:__l="__l" u-p="{{a}}"></up-icon>微信登录</up-button></view><view class="btn"><up-button wx:if="{{c}}" u-s="{{['d']}}" u-i="23c3038c-2" bind:__l="__l" u-p="{{c}}"><text style="color:#20B128">使用短信验证登录</text></up-button></view></block><view class="agreement"><image wx:if="{{true}}" src="{{d}}"></image><image wx:else src="{{e}}"></image><view> 我已同意<text>《用户协议》</text>与<text>《隐私政策》</text></view></view></view></view>

View File

@ -0,0 +1,67 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
page {
background-color: #fff;
}
.login-box {
width: 700rpx;
height: 88vh;
margin: 0 auto;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 10vh;
position: relative;
}
.login-box .logo {
height: 152rpx;
width: 152rpx;
}
.login-box .tips {
color: #444444;
font-size: 28rpx;
margin: 30rpx 0;
}
.login-box .btn {
width: 600rpx;
margin-top: 40rpx;
font-size: 32rpx !important;
}
.login-box .agreement {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
display: flex;
justify-content: center;
color: #444;
}
.login-box .agreement image {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}

View File

@ -29,25 +29,29 @@ const _sfc_main = {
bgColor: "rgba(0,0,0,0)" bgColor: "rgba(0,0,0,0)"
}), }),
b: common_vendor.p({ b: common_vendor.p({
src: "https://shop.lihaink.cn/static/images/f1.png", src: "",
size: "80" size: "80"
}), }),
c: common_vendor.o(($event) => navTo()), c: common_vendor.o(($event) => navTo(1)),
d: common_vendor.p({ d: common_vendor.o(($event) => navTo(2)),
e: common_vendor.o(($event) => navTo()),
f: common_vendor.p({
title: "我的地址", title: "我的地址",
isLink: true isLink: true,
url: "/pagesOrder/addressList/addressList"
}), }),
e: common_vendor.p({ g: common_vendor.p({
title: "意见反馈", title: "意见反馈",
isLink: true isLink: true
}), }),
f: common_vendor.p({ h: common_vendor.p({
title: "关于我们", title: "关于我们",
isLink: true isLink: true
}), }),
g: common_vendor.p({ i: common_vendor.p({
title: "设置", title: "设置",
isLink: true isLink: true,
url: "/pages/login/login"
}) })
}; };
}; };

View File

@ -1 +1 @@
<view><up-navbar wx:if="{{a}}" u-s="{{['left']}}" u-i="39cfeb26-0" bind:__l="__l" u-p="{{a}}"><view slot="left"></view></up-navbar><view class="user-info"><image class="bg" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/e3a7b202404261113002322.webp" mode="widthFix"></image><view class="u-card"><up-avatar wx:if="{{b}}" u-i="39cfeb26-1" bind:__l="__l" u-p="{{b}}"></up-avatar><view class="content"><view class="u-phone">151****6699</view><view class="u-id">ID: 6655</view></view></view></view><view class="order-info-box"><view class="order-info"><view class="info-head">我的订单</view><view class="info-list"><view class="list-item"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/f335a202404261401535608.png"></image><view class="">待付款</view></view><view class="list-item"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/45241202404261403353935.png"></image><view class="">待收货</view></view><view class="list-item"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/96915202404261403582769.png"></image><view class="">售后/退款</view></view><view class="list-item" bindtap="{{c}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/abdcd202404261406199643.png"></image><view class="">全部订单</view></view></view></view></view><view class="card"><up-cell-group u-s="{{['d']}}" u-i="39cfeb26-2" bind:__l="__l"><up-cell wx:if="{{d}}" u-i="39cfeb26-3,39cfeb26-2" bind:__l="__l" u-p="{{d}}"></up-cell></up-cell-group></view><view class="card"><up-cell-group u-s="{{['d']}}" u-i="39cfeb26-4" bind:__l="__l"><up-cell wx:if="{{e}}" u-i="39cfeb26-5,39cfeb26-4" bind:__l="__l" u-p="{{e}}"></up-cell><up-cell wx:if="{{f}}" u-i="39cfeb26-6,39cfeb26-4" bind:__l="__l" u-p="{{f}}"></up-cell><up-cell wx:if="{{g}}" u-i="39cfeb26-7,39cfeb26-4" bind:__l="__l" u-p="{{g}}"></up-cell></up-cell-group></view></view> <view><up-navbar wx:if="{{a}}" u-s="{{['left']}}" u-i="39cfeb26-0" bind:__l="__l" u-p="{{a}}"><view slot="left"></view></up-navbar><view class="user-info"><image class="bg" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/e3a7b202404261113002322.webp" mode="widthFix"></image><view class="u-card"><up-avatar wx:if="{{b}}" u-i="39cfeb26-1" bind:__l="__l" u-p="{{b}}"></up-avatar><view class="content"><view class="u-phone">151****6699</view><view class="u-id">ID: 6655</view></view></view></view><view class="order-info-box"><view class="order-info"><view class="info-head">我的订单</view><view class="info-list"><view class="list-item" bindtap="{{c}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/f335a202404261401535608.png"></image><view class="">待付款</view></view><view class="list-item" bindtap="{{d}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/45241202404261403353935.png"></image><view class="">待收货</view></view><view class="list-item" bindtap="{{e}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/abdcd202404261406199643.png"></image><view class="">全部订单</view></view></view></view></view><view class="card"><up-cell-group u-s="{{['d']}}" u-i="39cfeb26-2" bind:__l="__l"><up-cell wx:if="{{f}}" u-i="39cfeb26-3,39cfeb26-2" bind:__l="__l" u-p="{{f}}"></up-cell></up-cell-group></view><view class="card"><up-cell-group u-s="{{['d']}}" u-i="39cfeb26-4" bind:__l="__l"><up-cell wx:if="{{g}}" u-i="39cfeb26-5,39cfeb26-4" bind:__l="__l" u-p="{{g}}"></up-cell><up-cell wx:if="{{h}}" u-i="39cfeb26-6,39cfeb26-4" bind:__l="__l" u-p="{{h}}"></up-cell><up-cell wx:if="{{i}}" u-i="39cfeb26-7,39cfeb26-4" bind:__l="__l" u-p="{{i}}"></up-cell></up-cell-group></view></view>

View File

@ -74,7 +74,7 @@
left: 0; left: 0;
z-index: 3; z-index: 3;
background-image: url("https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a8863202404261349533191.png"); background-image: url("https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a8863202404261349533191.png");
background-size: 28% 100%; background-size: 38% 100%;
background-position: right; background-position: right;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

View File

@ -0,0 +1,116 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_up_input2 = common_vendor.resolveComponent("up-input");
const _easycom_up_form_item2 = common_vendor.resolveComponent("up-form-item");
const _easycom_up_form2 = common_vendor.resolveComponent("up-form");
const _easycom_up_switch2 = common_vendor.resolveComponent("up-switch");
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
(_easycom_up_input2 + _easycom_up_form_item2 + _easycom_up_form2 + _easycom_up_switch2 + _easycom_up_button2)();
}
const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js";
const _easycom_up_form_item = () => "../../uni_modules/uview-plus/components/u-form-item/u-form-item.js";
const _easycom_up_form = () => "../../uni_modules/uview-plus/components/u-form/u-form.js";
const _easycom_up_switch = () => "../../uni_modules/uview-plus/components/u-switch/u-switch.js";
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
if (!Math) {
(_easycom_up_input + _easycom_up_form_item + _easycom_up_form + _easycom_up_switch + _easycom_up_button)();
}
const _sfc_main = {
__name: "addressEdit",
setup(__props) {
const mode = common_vendor.ref("add");
const formData = common_vendor.ref({
name: "",
phone: "",
address: "",
isDefault: false
});
const rules = common_vendor.ref({
name: [{ required: true, message: "请输入姓名", trigger: ["blur"] }],
phone: [{ required: true, message: "请输入手机号", trigger: ["blur"] }],
address: [{ required: true, message: "请输入地址", trigger: ["blur"] }]
});
const uForm = common_vendor.ref(null);
const submit = () => {
uForm.value.validate().then(() => {
console.log("验证通过");
}).catch(() => {
console.log("验证失败");
});
};
common_vendor.onLoad((options) => {
if (options.mode == "edit") {
mode.value = "edit";
common_vendor.index.setNavigationBarTitle({
title: "编辑地址"
});
} else
common_vendor.index.setNavigationBarTitle({
title: "新增地址"
});
});
return (_ctx, _cache) => {
return {
a: common_vendor.o(($event) => formData.value.name = $event),
b: common_vendor.p({
disabledColor: "#ffffff",
border: "none",
placeholder: "请填写收货人姓名",
modelValue: formData.value.name
}),
c: common_vendor.p({
label: "收货人",
prop: "name",
borderBottom: true
}),
d: common_vendor.o(($event) => formData.value.phone = $event),
e: common_vendor.p({
disabledColor: "#ffffff",
type: "number",
placeholder: "请填写联系电话",
border: "none",
modelValue: formData.value.phone
}),
f: common_vendor.p({
label: "联系电话",
prop: "phone",
borderBottom: true
}),
g: common_vendor.o(($event) => formData.value.address = $event),
h: common_vendor.p({
disabledColor: "#ffffff",
placeholder: "请填写详细地址",
border: "none",
modelValue: formData.value.address
}),
i: common_vendor.p({
label: "详细地址",
prop: "address",
borderBottom: true
}),
j: common_vendor.sr(uForm, "663ade36-0", {
"k": "uForm"
}),
k: common_vendor.p({
labelPosition: "left",
model: formData.value,
rules: rules.value,
labelWidth: "100"
}),
l: common_vendor.o(($event) => formData.value.isDefault = $event),
m: common_vendor.p({
activeColor: "#20B128",
modelValue: formData.value.isDefault
}),
n: common_vendor.o(submit),
o: common_vendor.p({
color: "#20B128",
shape: "circle"
})
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pagesOrder/addressEdit/addressEdit.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,11 @@
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"usingComponents": {
"up-input": "../../uni_modules/uview-plus/components/u-input/u-input",
"up-form-item": "../../uni_modules/uview-plus/components/u-form-item/u-form-item",
"up-form": "../../uni_modules/uview-plus/components/u-form/u-form",
"up-switch": "../../uni_modules/uview-plus/components/u-switch/u-switch",
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button"
}
}

View File

@ -0,0 +1 @@
<view class=""><view class="card"><up-form wx:if="{{k}}" class="r" u-s="{{['d']}}" u-r="uForm" u-i="663ade36-0" bind:__l="__l" u-p="{{k}}"><up-form-item wx:if="{{c}}" u-s="{{['d']}}" u-i="663ade36-1,663ade36-0" bind:__l="__l" u-p="{{c}}"><up-input wx:if="{{b}}" u-i="663ade36-2,663ade36-1" bind:__l="__l" bindupdateModelValue="{{a}}" u-p="{{b}}"></up-input></up-form-item><up-form-item wx:if="{{f}}" u-s="{{['d']}}" u-i="663ade36-3,663ade36-0" bind:__l="__l" u-p="{{f}}"><up-input wx:if="{{e}}" u-i="663ade36-4,663ade36-3" bind:__l="__l" bindupdateModelValue="{{d}}" u-p="{{e}}"></up-input></up-form-item><up-form-item wx:if="{{i}}" u-s="{{['d']}}" u-i="663ade36-5,663ade36-0" bind:__l="__l" u-p="{{i}}"><up-input wx:if="{{h}}" u-i="663ade36-6,663ade36-5" bind:__l="__l" bindupdateModelValue="{{g}}" u-p="{{h}}"></up-input></up-form-item></up-form></view><view class="card"><view class="is-default"><view>设置为默认地址</view><up-switch wx:if="{{m}}" u-i="663ade36-7" bind:__l="__l" bindupdateModelValue="{{l}}" u-p="{{m}}"></up-switch></view></view><view class="bottom-fixed"><up-button wx:if="{{o}}" u-s="{{['d']}}" bindclick="{{n}}" u-i="663ade36-8" bind:__l="__l" u-p="{{o}}">保存</up-button></view></view>

View File

@ -0,0 +1,55 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.card {
margin: 20rpx;
background-color: #fff;
border-radius: 14rpx;
padding: 0 30rpx;
}
.card .is-default {
display: flex;
align-items: center;
justify-content: space-between;
padding: 20rpx 0;
}
.bottom-fixed {
position: fixed;
bottom: 0;
left: 0;
height: 120rpx;
height: calc(constant(safe-area-inset-bottom) + 120rpx);
/* 适用于iOS设备 */
height: calc(env(safe-area-inset-bottom) + 120rpx);
/* 适用于Android设备 */
width: 100%;
box-sizing: border-box;
background-color: #fff;
padding: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx);
/* 适用于iOS设备 */
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
/* 适用于Android设备 */
}

View File

@ -0,0 +1,69 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
if (!Array) {
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
(_easycom_up_icon2 + _easycom_up_button2)();
}
const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
if (!Math) {
(_easycom_up_icon + _easycom_up_button + modal)();
}
const modal = () => "../../components/modal.js";
const _sfc_main = {
__name: "addressList",
setup(__props) {
const navTo = (url) => {
common_vendor.index.navigateTo({
url
});
};
const show = common_vendor.ref(false);
const deleteInfo = common_vendor.ref({});
const showDelete = (item) => {
deleteInfo.value = item;
show.value = true;
};
const deleteAddress = () => {
console.log(deleteInfo.value);
show.value = false;
};
return (_ctx, _cache) => {
return {
a: common_vendor.f(3, (item, index, i0) => {
return common_vendor.e({
b: common_assets._imports_1
}, {
c: "5e66515e-0-" + i0,
d: common_vendor.o(($event) => showDelete(item), index),
e: "5e66515e-1-" + i0,
f: common_vendor.o(($event) => navTo("/pagesOrder/addressEdit/addressEdit?mode=edit"), index),
g: index
});
}),
b: common_vendor.p({
name: "trash"
}),
c: common_vendor.p({
name: "edit-pen"
}),
d: common_vendor.o(($event) => navTo("/pagesOrder/addressEdit/addressEdit")),
e: common_vendor.p({
color: "#20B128",
shape: "circle"
}),
f: common_vendor.o(($event) => show.value = false),
g: common_vendor.o(deleteAddress),
h: common_vendor.p({
show: show.value,
title: "确认删除吗",
content: "删除后不可恢复"
})
};
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pagesOrder/addressList/addressList.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,9 @@
{
"navigationBarTitleText": "地址管理",
"enablePullDownRefresh": false,
"usingComponents": {
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button",
"modal": "../../components/modal"
}
}

View File

@ -0,0 +1 @@
<view class="list"><view wx:for="{{a}}" wx:for-item="item" wx:key="g" class="address-card"><view class="address-info"><view class="top"><view class="name">收货人:小李</view><view class="phone">14566666666</view></view><view class="bottom"> 四川泸州市龙马潭区莲花池街道商业街1号 </view></view><view class="btn-box"><view class="left"><image wx:if="{{false}}" src="{{item.a}}"></image><image wx:else src="{{item.b}}"></image><view>设为默认</view></view><view class="right"><view class="btn" bindtap="{{item.d}}"><up-icon wx:if="{{b}}" u-i="{{item.c}}" bind:__l="__l" u-p="{{b}}"></up-icon> 删除 </view><view class="btn" bindtap="{{item.f}}"><up-icon wx:if="{{c}}" u-i="{{item.e}}" bind:__l="__l" u-p="{{c}}"></up-icon> 编辑 </view></view></view></view><view style="width:100%;height:150rpx"></view><view class="bottom-fixed"><up-button wx:if="{{e}}" u-s="{{['d']}}" bindclick="{{d}}" u-i="5e66515e-2" bind:__l="__l" u-p="{{e}}">新增地址</up-button></view><modal wx:if="{{h}}" bindclose="{{f}}" bindchange="{{g}}" u-i="5e66515e-3" bind:__l="__l" u-p="{{h}}"></modal></view>

View File

@ -0,0 +1,104 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.address-card {
margin: 20rpx;
background-color: #fff;
border-radius: 14rpx;
box-sizing: border-box;
padding: 20rpx;
color: #444;
}
.address-card .address-info {
padding-bottom: 20rpx;
border-bottom: 1rpx solid #eee;
margin-bottom: 20rpx;
}
.address-card .address-info .top {
display: flex;
justify-content: space-between;
font-size: 28rpx;
}
.address-card .address-info .top .name {
color: #000;
}
.address-card .address-info .bottom {
font-size: 26rpx;
margin-top: 10rpx;
}
.address-card .btn-box {
display: flex;
justify-content: space-between;
font-size: 26rpx;
}
.address-card .btn-box .left {
display: flex;
align-items: center;
}
.address-card .btn-box .left image {
width: 40rpx;
height: 40rpx;
margin-right: 6rpx;
}
.address-card .btn-box .right {
display: flex;
color: #7a7a7a;
align-items: center;
}
.address-card .btn-box .right .btn {
display: flex;
margin-left: 20rpx;
}
.address-card .btn-box .right .btn:active {
color: rgba(122, 122, 122, 0.8);
transition: background-color 0.5s;
animation: disappear 0.5s 0.5s forwards;
}
.bottom-fixed {
position: fixed;
bottom: 0;
left: 0;
height: 120rpx;
height: calc(constant(safe-area-inset-bottom) + 120rpx);
/* 适用于iOS设备 */
height: calc(env(safe-area-inset-bottom) + 120rpx);
/* 适用于Android设备 */
width: 100%;
box-sizing: border-box;
background-color: #fff;
padding: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx);
/* 适用于iOS设备 */
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
/* 适用于Android设备 */
}
@keyframes disappear {
to {
opacity: 0;
/* 渐隐 */
transform: scale(0);
/* 缩小 */
}
}

View File

@ -1,21 +1,41 @@
"use strict"; "use strict";
const common_vendor = require("../../common/vendor.js"); const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const dict_cancelDict = require("../../dict/cancelDict.js");
if (!Array) { if (!Array) {
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon"); const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
const _easycom_up_button2 = common_vendor.resolveComponent("up-button"); const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
const _easycom_up_copy2 = common_vendor.resolveComponent("up-copy");
const _easycom_up_popup2 = common_vendor.resolveComponent("up-popup"); const _easycom_up_popup2 = common_vendor.resolveComponent("up-popup");
(_easycom_up_icon2 + _easycom_up_button2 + _easycom_up_popup2)(); (_easycom_up_icon2 + _easycom_up_button2 + _easycom_up_copy2 + _easycom_up_popup2)();
} }
const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js"; const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js"; const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
const _easycom_up_copy = () => "../../uni_modules/uview-plus/components/u-copy/u-copy.js";
const _easycom_up_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js"; const _easycom_up_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js";
if (!Math) { if (!Math) {
(_easycom_up_icon + _easycom_up_button + _easycom_up_popup)(); (_easycom_up_icon + _easycom_up_button + _easycom_up_copy + _easycom_up_popup + addressPopup + modal)();
} }
const addressPopup = () => "../../components/addressPopup.js";
const modal = () => "../../components/modal.js";
const _sfc_main = { const _sfc_main = {
__name: "detail", __name: "detail",
setup(__props) { setup(__props) {
const showCancel = common_vendor.ref(false); const showCancel = common_vendor.ref(false);
const showAddress = common_vendor.ref(false);
const cancelType = common_vendor.ref(-1);
const submitCancel = () => {
showCancel.value = false;
console.log(cancelType.value);
common_vendor.index.showToast({
title: "取消成功",
icon: "none"
});
};
const changeAddress = (e) => {
showAddress.value = false;
console.log(e);
};
common_vendor.onLoad((option) => { common_vendor.onLoad((option) => {
common_vendor.index.setNavigationBarTitle({ common_vendor.index.setNavigationBarTitle({
title: option.type == 1 ? "等待付款" : "订单详情" title: option.type == 1 ? "等待付款" : "订单详情"
@ -26,7 +46,8 @@ const _sfc_main = {
a: common_vendor.p({ a: common_vendor.p({
name: "map" name: "map"
}), }),
b: common_vendor.p({ b: common_vendor.o(($event) => showAddress.value = true),
c: common_vendor.p({
size: "small", size: "small",
shape: "circle", shape: "circle",
color: "#f6f6f6", color: "#f6f6f6",
@ -34,16 +55,46 @@ const _sfc_main = {
color: "#666666" color: "#666666"
} }
}), }),
c: common_vendor.o(($event) => showCancel.value = true),
d: common_vendor.p({ d: common_vendor.p({
content: "wxo13546486484784555"
}),
e: common_vendor.o(($event) => showCancel.value = true),
f: common_vendor.p({
color: "#20B128", color: "#20B128",
shape: "circle" shape: "circle"
}), }),
e: common_vendor.o(($event) => showCancel.value = false), g: common_vendor.f(common_vendor.unref(dict_cancelDict.list), (item, index, i0) => {
f: common_vendor.p({ return common_vendor.e({
a: common_vendor.t(item.name),
b: cancelType.value == item.value
}, cancelType.value == item.value ? {
c: common_assets._imports_0
} : {
d: common_assets._imports_1
}, {
e: item.value,
f: common_vendor.o(($event) => cancelType.value = item.value, item.value)
});
}),
h: common_vendor.o(submitCancel),
i: common_vendor.p({
color: "#20B128",
shape: "circle"
}),
j: common_vendor.o(($event) => showCancel.value = false),
k: common_vendor.p({
show: showCancel.value, show: showCancel.value,
closeable: true, closeable: true,
round: "10" round: "10"
}),
l: common_vendor.o(($event) => showAddress.value = false),
m: common_vendor.o(changeAddress),
n: common_vendor.p({
show: showAddress.value
}),
o: common_vendor.p({
show: false,
content: "您还没有添加收货地址,请点击添加"
}) })
}; };
}; };

View File

@ -4,6 +4,9 @@
"usingComponents": { "usingComponents": {
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon", "up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button", "up-button": "../../uni_modules/uview-plus/components/u-button/u-button",
"up-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup" "up-copy": "../../uni_modules/uview-plus/components/u-copy/u-copy",
"up-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup",
"address-popup": "../../components/addressPopup",
"modal": "../../components/modal"
} }
} }

View File

@ -1 +1 @@
<view class=""><view class="count_down"> 还剩<text>00:28:36</text>订单自动取消 </view><view class="m-card m-address"><view class="address-info"><view class="top"><up-icon wx:if="{{a}}" u-i="666b5ad0-0" bind:__l="__l" u-p="{{a}}"></up-icon><view class="t-name">小王</view><view>155****9999</view></view><view class="bottom u-line-2"> 四川泸州市龙马潭区莲花池街道商业街1号 </view></view><view class="address-btn"><view style="width:80px"><up-button wx:if="{{b}}" u-s="{{['d']}}" u-i="666b5ad0-1" bind:__l="__l" u-p="{{b}}">修改</up-button></view></view></view><view class="m-card m-good"><image class="image" src="/static/logo.png"></image><view class="body-content"><view><view class="title"><view>黄牛肉20kg</view><view>¥10.00</view></view><view class="tips"><view>我不吃牛肉</view><view>x5</view></view></view><view class="time"> 预计48小时发货 </view></view></view><view class="m-card good-info"><view class="row"><view>商品总价 <text>共计5件商品</text></view><view><text>¥</text>50<text>.00</text></view></view><view class="row"><view>运费</view><view><text>¥</text>0<text>.00</text></view></view><view class="row-need"><view style="margin-right:10rpx">需付款</view><view><text>¥</text>50<text>.00</text></view></view></view><view class="m-card good-info"><view class="head-title">订单信息</view><view class="row"><view>订单编号</view><view>wxo13546486484784555 | 复制</view></view><view class="row"><view>下单时间</view><view>2024-04-25 15:00:00</view></view><view class="row" style="margin-bottom:0"><view>支付状态</view><view class="red">待支付</view></view></view><view style="width:100%;height:200rpx"></view><view class="btn-box"><view style="color:#777777" bindtap="{{c}}">取消订单</view><view style="width:450rpx"><up-button wx:if="{{d}}" u-s="{{['d']}}" u-i="666b5ad0-2" bind:__l="__l" u-p="{{d}}">立即支付 ¥50.00</up-button></view></view><up-popup wx:if="{{f}}" u-s="{{['d']}}" bindclose="{{e}}" u-i="666b5ad0-3" bind:__l="__l" u-p="{{f}}"><view class="cancle-popup"><view class="head-title">订单取消</view><view><view>不想要了</view></view></view></up-popup></view> <view class=""><view class="count_down"> 还剩<text>00:28:36</text>订单自动取消 </view><view class="m-card m-address"><view class="address-info"><view class="top"><up-icon wx:if="{{a}}" u-i="666b5ad0-0" bind:__l="__l" u-p="{{a}}"></up-icon><view class="t-name">小王</view><view>155****9999</view></view><view class="bottom u-line-2"> 四川泸州市龙马潭区莲花池街道商业街1号 </view></view><view class="address-btn"><view style="width:80px"><up-button wx:if="{{c}}" u-s="{{['d']}}" bindclick="{{b}}" u-i="666b5ad0-1" bind:__l="__l" u-p="{{c}}">修改</up-button></view></view></view><view class="m-card m-good"><image class="image" src="/static/logo.png"></image><view class="body-content"><view><view class="title"><view>黄牛肉20kg</view><view>¥10.00</view></view><view class="tips"><view>我不吃牛肉</view><view>x5</view></view></view><view class="time"> 预计48小时发货 </view></view></view><view class="m-card good-info"><view class="row"><view>商品总价 <text>共计5件商品</text></view><view><text>¥</text>50<text>.00</text></view></view><view class="row"><view>运费</view><view><text>¥</text>0<text>.00</text></view></view><view class="row-need"><view style="margin-right:10rpx">需付款</view><view><text>¥</text>50<text>.00</text></view></view></view><view class="m-card good-info"><view class="head-title">订单信息</view><view class="row"><view>订单编号</view><up-copy wx:if="{{d}}" u-s="{{['d']}}" u-i="666b5ad0-2" bind:__l="__l" u-p="{{d}}"><text>wxo13546486484784555 | 复制</text></up-copy></view><view class="row"><view>下单时间</view><view>2024-04-25 15:00:00</view></view><view class="row" style="margin-bottom:0"><view>支付状态</view><view class="red">待支付</view></view></view><view style="width:100%;height:200rpx"></view><view class="btn-box"><view style="color:#777777" bindtap="{{e}}">取消订单</view><view style="width:450rpx"><up-button wx:if="{{f}}" u-s="{{['d']}}" u-i="666b5ad0-3" bind:__l="__l" u-p="{{f}}">立即支付 ¥50.00</up-button></view></view><up-popup wx:if="{{k}}" u-s="{{['d']}}" bindclose="{{j}}" u-i="666b5ad0-4" bind:__l="__l" u-p="{{k}}"><view class="cancel-popup"><view class="head-title">订单取消</view><view wx:for="{{g}}" wx:for-item="item" wx:key="e" class="row" bindtap="{{item.f}}"><view>{{item.a}}</view><image wx:if="{{item.b}}" src="{{item.c}}"></image><image wx:else src="{{item.d}}"></image></view><up-button wx:if="{{i}}" u-s="{{['d']}}" bindclick="{{h}}" u-i="666b5ad0-5,666b5ad0-4" bind:__l="__l" u-p="{{i}}">提交</up-button></view></up-popup><address-popup wx:if="{{n}}" bindclose="{{l}}" bindchange="{{m}}" u-i="666b5ad0-6" bind:__l="__l" u-p="{{n}}"></address-popup><modal wx:if="{{o}}" u-i="666b5ad0-7" bind:__l="__l" u-p="{{o}}"></modal></view>

View File

@ -142,12 +142,20 @@
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
} }
.cancle-popup { .cancel-popup {
height: 500rpx; padding: 30rpx;
} }
.cancle-popup .head-title { .cancel-popup .head-title {
font-weight: bold; font-weight: bold;
text-align: center; text-align: center;
height: 80rpx; margin-bottom: 20rpx;
line-height: 80rpx; }
.cancel-popup .row {
display: flex;
justify-content: space-between;
padding-bottom: 20rpx;
}
.cancel-popup .row image {
width: 40rpx;
height: 40rpx;
} }

View File

@ -18,7 +18,6 @@ const good = () => "./component/good.js";
const _sfc_main = { const _sfc_main = {
__name: "order", __name: "order",
setup(__props) { setup(__props) {
common_vendor.ref(["购物车", "常买", "收藏"]);
const tabsActive = common_vendor.ref(0); const tabsActive = common_vendor.ref(0);
const changeTab = ({ index }) => { const changeTab = ({ index }) => {
tabsActive.value = index; tabsActive.value = index;
@ -27,14 +26,20 @@ const _sfc_main = {
const tablist = common_vendor.ref([ const tablist = common_vendor.ref([
{ name: "全部" }, { name: "全部" },
{ name: "待付款" }, { name: "待付款" },
{ name: "待收货" }, { name: "待收货" }
{ name: "退款/售后" } // { name: '退款/售后' },
]); ]);
const swiperCurrent = common_vendor.ref(0); const swiperCurrent = common_vendor.ref(0);
const animationfinish = ({ detail: { current } }) => { const animationfinish = ({ detail: { current } }) => {
swiperCurrent.value = current; swiperCurrent.value = current;
tabsActive.value = current; tabsActive.value = current;
}; };
common_vendor.onLoad((options) => {
if (options.type) {
tabsActive.value = +options.type;
swiperCurrent.value = +options.type;
}
});
return (_ctx, _cache) => { return (_ctx, _cache) => {
return common_vendor.e({ return common_vendor.e({
a: common_vendor.p({ a: common_vendor.p({
@ -88,18 +93,8 @@ const _sfc_main = {
type: 2 type: 2
}) })
}, { }, {
n: common_vendor.f(10, (item, index, i0) => { n: swiperCurrent.value,
return { o: common_vendor.o(animationfinish)
a: index,
b: "aea1ad54-9-" + i0
};
}),
o: common_vendor.p({
type: 3
})
}, {
q: swiperCurrent.value,
r: common_vendor.o(animationfinish)
}); });
}; };
} }

View File

@ -1 +1 @@
<view><up-sticky wx:if="{{d}}" u-s="{{['d']}}" u-i="aea1ad54-0" bind:__l="__l" u-p="{{d}}"><view style="padding:10rpx 20rpx 0 20rpx"><up-search wx:if="{{a}}" u-i="aea1ad54-1,aea1ad54-0" bind:__l="__l" u-p="{{a}}"></up-search></view><up-tabs wx:if="{{c}}" bindchange="{{b}}" u-i="aea1ad54-2,aea1ad54-0" bind:__l="__l" u-p="{{c}}"></up-tabs></up-sticky><swiper class="swiper-box" current="{{q}}" bindanimationfinish="{{r}}"><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{e}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{f}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{g}}" u-i="aea1ad54-4" bind:__l="__l" u-p="{{g}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{h}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{i}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{j}}" u-i="aea1ad54-6" bind:__l="__l" u-p="{{j}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{k}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{l}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{m}}" u-i="aea1ad54-8" bind:__l="__l" u-p="{{m}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{n}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{o}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{p}}" u-i="aea1ad54-10" bind:__l="__l" u-p="{{p}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item></swiper></view> <view><up-sticky wx:if="{{d}}" u-s="{{['d']}}" u-i="aea1ad54-0" bind:__l="__l" u-p="{{d}}"><view style="padding:10rpx 20rpx 0 20rpx"><up-search wx:if="{{a}}" u-i="aea1ad54-1,aea1ad54-0" bind:__l="__l" u-p="{{a}}"></up-search></view><up-tabs wx:if="{{c}}" bindchange="{{b}}" u-i="aea1ad54-2,aea1ad54-0" bind:__l="__l" u-p="{{c}}"></up-tabs></up-sticky><swiper class="swiper-box" current="{{n}}" bindanimationfinish="{{o}}"><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{e}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{f}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{g}}" u-i="aea1ad54-4" bind:__l="__l" u-p="{{g}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{h}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{i}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{j}}" u-i="aea1ad54-6" bind:__l="__l" u-p="{{j}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item><swiper-item class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{true}}" class="list"><good wx:for="{{k}}" wx:for-item="item" wx:key="a" u-i="{{item.b}}" bind:__l="__l" u-p="{{l}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{m}}" u-i="aea1ad54-8" bind:__l="__l" u-p="{{m}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item></swiper></view>

View File

@ -21,7 +21,7 @@
}, },
"compileType": "miniprogram", "compileType": "miniprogram",
"libVersion": "3.3.4", "libVersion": "3.3.4",
"appid": "touristappid", "appid": "wxce2948c50d808b66",
"projectname": "purchase-let", "projectname": "purchase-let",
"condition": { "condition": {
"search": { "search": {

View File

@ -9,7 +9,7 @@
"list": [ "list": [
{ {
"name": "", "name": "",
"pathName": "pagesOrder/detail/detail", "pathName": "pages/login/login",
"query": "", "query": "",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null

View File

@ -0,0 +1,158 @@
"use strict";
const uni_modules_uviewPlus_components_uForm_props = require("../u-form/props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/config/props.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/color.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/function/index.js");
require("../../libs/function/test.js");
require("../../libs/function/digit.js");
require("../../libs/util/route.js");
const uvForm = () => "../u-form/u-form.js";
const _sfc_main = {
name: "u-form",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_components_uForm_props.props, uni_modules_uviewPlus_libs_mixin_mixin.mixin],
components: {
uvForm
},
created() {
this.children = [];
},
methods: {
// 手动设置校验的规则,如果规则中有函数的话,微信小程序中会过滤掉,所以只能手动调用设置规则
setRules(rules) {
this.$refs.uForm.setRules(rules);
},
validate() {
this.setMpData();
return this.$refs.uForm.validate();
},
validateField(value, callback) {
this.setMpData();
return this.$refs.uForm.validateField(value, callback);
},
resetFields() {
this.setMpData();
return this.$refs.uForm.resetFields();
},
clearValidate(props) {
this.setMpData();
return this.$refs.uForm.clearValidate(props);
},
setMpData() {
this.$refs.uForm.children = this.children;
}
}
};
if (!Array) {
const _component_uvForm = common_vendor.resolveComponent("uvForm");
_component_uvForm();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.sr("uForm", "3baec837-0"),
b: common_vendor.p({
model: _ctx.model,
rules: _ctx.rules,
errorType: _ctx.errorType,
borderBottom: _ctx.borderBottom,
labelPosition: _ctx.labelPosition,
labelWidth: _ctx.labelWidth,
labelAlign: _ctx.labelAlign,
labelStyle: _ctx.labelStyle,
customStyle: _ctx.customStyle
})
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u--form/u--form.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uv-form": "../u-form/u-form"
}
}

View File

@ -0,0 +1 @@
<uv-form wx:if="{{b}}" class="r" u-s="{{['d']}}" u-r="uForm" u-i="3baec837-0" bind:__l="__l" u-p="{{b}}"><slot/></uv-form>

View File

@ -0,0 +1,157 @@
"use strict";
const uni_modules_uviewPlus_components_uInput_props = require("../u-input/props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/config/props.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/color.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/function/index.js");
require("../../libs/function/test.js");
require("../../libs/function/digit.js");
require("../../libs/util/route.js");
const uvInput = () => "../u-input/u-input.js";
const _sfc_main = {
name: "u--input",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_components_uInput_props.props, uni_modules_uviewPlus_libs_mixin_mixin.mixin],
components: {
uvInput
}
};
if (!Array) {
const _component_uvInput = common_vendor.resolveComponent("uvInput");
_component_uvInput();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.o((e) => _ctx.$emit("update:modelValue", e)),
b: common_vendor.p({
modelValue: _ctx.modelValue,
type: _ctx.type,
fixed: _ctx.fixed,
disabled: _ctx.disabled,
disabledColor: _ctx.disabledColor,
clearable: _ctx.clearable,
password: _ctx.password,
maxlength: _ctx.maxlength,
placeholder: _ctx.placeholder,
placeholderClass: _ctx.placeholderClass,
placeholderStyle: _ctx.placeholderStyle,
showWordLimit: _ctx.showWordLimit,
confirmType: _ctx.confirmType,
confirmHold: _ctx.confirmHold,
holdKeyboard: _ctx.holdKeyboard,
focus: _ctx.focus,
autoBlur: _ctx.autoBlur,
disableDefaultPadding: _ctx.disableDefaultPadding,
cursor: _ctx.cursor,
cursorSpacing: _ctx.cursorSpacing,
selectionStart: _ctx.selectionStart,
selectionEnd: _ctx.selectionEnd,
adjustPosition: _ctx.adjustPosition,
inputAlign: _ctx.inputAlign,
fontSize: _ctx.fontSize,
color: _ctx.color,
prefixIcon: _ctx.prefixIcon,
suffixIcon: _ctx.suffixIcon,
suffixIconStyle: _ctx.suffixIconStyle,
prefixIconStyle: _ctx.prefixIconStyle,
border: _ctx.border,
readonly: _ctx.readonly,
shape: _ctx.shape,
customStyle: _ctx.customStyle,
formatter: _ctx.formatter,
ignoreCompositionEvent: _ctx.ignoreCompositionEvent
})
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u--input/u--input.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uv-input": "../u-input/u-input"
}
}

View File

@ -0,0 +1 @@
<uv-input wx:if="{{b}}" u-s="{{['d']}}" bindupdateModelValue="{{a}}" u-i="fe1fac3a-0" bind:__l="__l" u-p="{{b}}"><slot name="prefix"></slot><slot name="suffix"></slot></uv-input>

View File

@ -0,0 +1,66 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "xy-copy",
props: {
content: {
type: String,
default: ""
},
alertStyle: {
type: String,
default: "toast"
},
notice: {
type: String,
default: "复制成功"
}
},
emits: ["success"],
methods: {
handleClick() {
let content = this.content;
if (!content) {
common_vendor.index.showToast({
title: "暂无",
icon: "none",
duration: 2e3
});
return false;
}
content = typeof content === "string" ? content : content.toString();
let that = this;
common_vendor.index.setClipboardData({
data: content,
success: function() {
if (that.alertStyle == "modal") {
common_vendor.index.showModal({
title: "提示",
content: that.notice
});
} else {
common_vendor.index.showToast({
title: that.notice,
icon: "none"
});
}
that.$emit("success");
},
fail: function() {
common_vendor.index.showToast({
title: "复制失败",
icon: "none",
duration: 3e3
});
}
});
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.o((...args) => $options.handleClick && $options.handleClick(...args))
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-copy/u-copy.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view bindtap="{{a}}"><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else>复制</block></view>

View File

@ -0,0 +1,56 @@
"use strict";
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
const props = {
props: {
// input的label提示语
label: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.label
},
// 绑定的值
prop: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.prop
},
// 绑定的规则
rule: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.rule
},
// 是否显示表单域的下划线边框
borderBottom: {
type: [String, Boolean],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.borderBottom
},
// label的位置left-左边top-上边
labelPosition: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.labelPosition
},
// label的宽度单位px
labelWidth: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.labelWidth
},
// 右侧图标
rightIcon: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.rightIcon
},
// 左侧图标
leftIcon: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.leftIcon
},
// 是否显示左边的必填星号只作显示用具体校验必填的逻辑请在rules中配置
required: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.required
},
leftIconStyle: {
type: [String, Object],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.formItem.leftIconStyle
}
}
};
exports.props = props;

View File

@ -0,0 +1,214 @@
"use strict";
const uni_modules_uviewPlus_components_uFormItem_props = require("./props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
const uni_modules_uviewPlus_libs_config_color = require("../../libs/config/color.js");
const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/function/test.js");
require("../../libs/util/route.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/function/digit.js");
const _sfc_main = {
name: "u-form-item",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uFormItem_props.props],
data() {
return {
// 错误提示语
message: "",
parentData: {
// 提示文本的位置
labelPosition: "left",
// 提示文本对齐方式
labelAlign: "left",
// 提示文本的样式
labelStyle: {},
// 提示文本的宽度
labelWidth: 45,
// 错误提示方式
errorType: "message"
},
color: uni_modules_uviewPlus_libs_config_color.color
};
},
// 组件创建完成时将当前实例保存到u-form中
computed: {
propsLine() {
return uni_modules_uviewPlus_libs_config_props.defProps.line;
}
},
mounted() {
this.init();
},
emits: ["click"],
methods: {
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle,
addUnit: uni_modules_uviewPlus_libs_function_index.addUnit,
init() {
this.updateParentData();
if (!this.parent) {
uni_modules_uviewPlus_libs_function_index.error("u-form-item需要结合u-form组件使用");
}
},
// 获取父组件的参数
updateParentData() {
this.getParentData("u-form");
},
// 移除u-form-item的校验结果
clearValidate() {
this.message = null;
},
// 清空当前的组件的校验结果,并重置为初始值
resetField() {
const value = uni_modules_uviewPlus_libs_function_index.getProperty(this.parent.originalModel, this.prop);
uni_modules_uviewPlus_libs_function_index.setProperty(this.parent.model, this.prop, value);
this.message = null;
},
// 点击组件
clickHandler() {
this.$emit("click");
}
}
};
if (!Array) {
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
const _easycom_u_line2 = common_vendor.resolveComponent("u-line");
(_easycom_u_icon2 + _easycom_u_line2)();
}
const _easycom_u_icon = () => "../u-icon/u-icon.js";
const _easycom_u_line = () => "../u-line/u-line.js";
if (!Math) {
(_easycom_u_icon + _easycom_u_line)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: _ctx.required || _ctx.leftIcon || _ctx.label
}, _ctx.required || _ctx.leftIcon || _ctx.label ? common_vendor.e({
b: _ctx.required
}, _ctx.required ? {} : {}, {
c: _ctx.leftIcon
}, _ctx.leftIcon ? {
d: common_vendor.p({
name: _ctx.leftIcon,
["custom-style"]: _ctx.leftIconStyle
})
} : {}, {
e: common_vendor.t(_ctx.label),
f: common_vendor.s($data.parentData.labelStyle),
g: common_vendor.s({
justifyContent: $data.parentData.labelAlign === "left" ? "flex-start" : $data.parentData.labelAlign === "center" ? "center" : "flex-end"
}),
h: $options.addUnit(_ctx.labelWidth || $data.parentData.labelWidth),
i: $data.parentData.labelPosition === "left" ? 0 : "5px"
}) : {}, {
j: _ctx.$slots.right
}, _ctx.$slots.right ? {} : {}, {
k: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
l: common_vendor.s($options.addStyle(_ctx.customStyle)),
m: common_vendor.s({
flexDirection: (_ctx.labelPosition || $data.parentData.labelPosition) === "left" ? "row" : "column"
}),
n: !!$data.message && $data.parentData.errorType === "message"
}, !!$data.message && $data.parentData.errorType === "message" ? {
o: common_vendor.t($data.message),
p: $options.addUnit($data.parentData.labelPosition === "top" ? 0 : _ctx.labelWidth || $data.parentData.labelWidth)
} : {}, {
q: _ctx.borderBottom
}, _ctx.borderBottom ? {
r: common_vendor.p({
color: $data.message && $data.parentData.errorType === "border-bottom" ? $data.color.error : $options.propsLine.color,
customStyle: `margin-top: ${$data.message && $data.parentData.errorType === "message" ? "5px" : 0}`
})
} : {});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-42bac3de"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-form-item/u-form-item.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"u-icon": "../u-icon/u-icon",
"u-line": "../u-line/u-line"
}
}

View File

@ -0,0 +1 @@
<view class="u-form-item data-v-42bac3de"><view class="u-form-item__body data-v-42bac3de" bindtap="{{k}}" style="{{l + ';' + m}}"><block wx:if="{{$slots.label}}"><slot name="label"></slot></block><block wx:else><view wx:if="{{a}}" class="u-form-item__body__left data-v-42bac3de" style="{{'width:' + h + ';' + ('margin-bottom:' + i)}}"><view class="u-form-item__body__left__content data-v-42bac3de"><text wx:if="{{b}}" class="u-form-item__body__left__content__required data-v-42bac3de">*</text><view wx:if="{{c}}" class="u-form-item__body__left__content__icon data-v-42bac3de"><u-icon wx:if="{{d}}" class="data-v-42bac3de" u-i="42bac3de-0" bind:__l="__l" u-p="{{d}}"></u-icon></view><text class="u-form-item__body__left__content__label data-v-42bac3de" style="{{f + ';' + g}}">{{e}}</text></view></view></block><view class="u-form-item__body__right data-v-42bac3de"><view class="u-form-item__body__right__content data-v-42bac3de"><view class="u-form-item__body__right__content__slot data-v-42bac3de"><slot/></view><view wx:if="{{j}}" class="item__body__right__content__icon data-v-42bac3de"><slot name="right"/></view></view></view></view><block wx:if="{{$slots.error}}"><slot name="error"></slot></block><block wx:else><text wx:if="{{n}}" class="u-form-item__body__right__message data-v-42bac3de" style="{{'margin-left:' + p}}">{{o}}</text></block><u-line wx:if="{{q}}" class="data-v-42bac3de" u-i="42bac3de-1" bind:__l="__l" u-p="{{r}}"></u-line></view>

View File

@ -0,0 +1,106 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-42bac3de,
.u-empty__wrap.data-v-42bac3de,
.u-tabs.data-v-42bac3de,
.u-tabs__wrapper.data-v-42bac3de,
.u-tabs__wrapper__scroll-view-wrapper.data-v-42bac3de,
.u-tabs__wrapper__scroll-view.data-v-42bac3de,
.u-tabs__wrapper__nav.data-v-42bac3de,
.u-tabs__wrapper__nav__line.data-v-42bac3de {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-form-item.data-v-42bac3de {
display: flex;
flex-direction: column;
font-size: 14px;
color: #303133;
}
.u-form-item__body.data-v-42bac3de {
display: flex;
flex-direction: row;
padding: 10px 0;
}
.u-form-item__body__left.data-v-42bac3de {
display: flex;
flex-direction: row;
align-items: center;
}
.u-form-item__body__left__content.data-v-42bac3de {
position: relative;
display: flex;
flex-direction: row;
align-items: center;
padding-right: 10rpx;
flex: 1;
}
.u-form-item__body__left__content__icon.data-v-42bac3de {
margin-right: 8rpx;
}
.u-form-item__body__left__content__required.data-v-42bac3de {
position: absolute;
left: -9px;
color: #f56c6c;
line-height: 20px;
font-size: 20px;
top: 3px;
}
.u-form-item__body__left__content__label.data-v-42bac3de {
display: flex;
flex-direction: row;
align-items: center;
flex: 1;
color: #303133;
font-size: 15px;
}
.u-form-item__body__right.data-v-42bac3de {
flex: 1;
}
.u-form-item__body__right__content.data-v-42bac3de {
display: flex;
flex-direction: row;
align-items: center;
flex: 1;
}
.u-form-item__body__right__content__slot.data-v-42bac3de {
flex: 1;
}
.u-form-item__body__right__content__icon.data-v-42bac3de {
margin-left: 10rpx;
color: #c0c4cc;
font-size: 30rpx;
}
.u-form-item__body__right__message.data-v-42bac3de {
font-size: 12px;
line-height: 12px;
color: #f56c6c;
}

View File

@ -0,0 +1,48 @@
"use strict";
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
const props = {
props: {
// 当前form的需要验证字段的集合
model: {
type: Object,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.model
},
// 验证规则
rules: {
type: [Object, Function, Array],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.rules
},
// 有错误时的提示方式message-提示信息toast-进行toast提示
// border-bottom-下边框呈现红色none-无提示
errorType: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.errorType
},
// 是否显示表单域的下划线边框
borderBottom: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.borderBottom
},
// label的位置left-左边top-上边
labelPosition: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.labelPosition
},
// label的宽度单位px
labelWidth: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.labelWidth
},
// lable字体的对齐方式
labelAlign: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.labelAlign
},
// lable的样式对象形式
labelStyle: {
type: Object,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.form.labelStyle
}
}
};
exports.props = props;

View File

@ -0,0 +1,269 @@
"use strict";
const uni_modules_uviewPlus_components_uForm_props = require("./props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const uni_modules_uviewPlus_libs_util_asyncValidator = require("../../libs/util/async-validator.js");
const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
const uni_modules_uviewPlus_libs_function_test = require("../../libs/function/test.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/config/props.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/color.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/util/route.js");
require("../../libs/function/digit.js");
uni_modules_uviewPlus_libs_util_asyncValidator.Schema.warning = function() {
};
const _sfc_main = {
name: "u-form",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uForm_props.props],
provide() {
return {
uForm: this
};
},
data() {
return {
formRules: {},
// 规则校验器
validator: {},
// 原始的model快照用于resetFields方法重置表单时使用
originalModel: null
};
},
watch: {
// 监听规则的变化
rules: {
immediate: true,
handler(n) {
this.setRules(n);
}
},
// 监听属性的变化通知子组件u-form-item重新获取信息
propsChange(n) {
var _a;
if ((_a = this.children) == null ? void 0 : _a.length) {
this.children.map((child) => {
typeof child.updateParentData == "function" && child.updateParentData();
});
}
},
// 监听model的初始值作为重置表单的快照
model: {
immediate: true,
handler(n) {
if (!this.originalModel) {
this.originalModel = uni_modules_uviewPlus_libs_function_index.deepClone(n);
}
}
}
},
computed: {
propsChange() {
return [
this.errorType,
this.borderBottom,
this.labelPosition,
this.labelWidth,
this.labelAlign,
this.labelStyle
];
}
},
created() {
this.children = [];
},
methods: {
// 手动设置校验的规则,如果规则中有函数的话,微信小程序中会过滤掉,所以只能手动调用设置规则
setRules(rules) {
if (Object.keys(rules).length === 0)
return;
if (Object.keys(this.model).length === 0) {
uni_modules_uviewPlus_libs_function_index.error("设置rulesmodel必须设置如果已经设置请刷新页面。");
return;
}
this.formRules = rules;
this.validator = new uni_modules_uviewPlus_libs_util_asyncValidator.Schema(rules);
},
// 清空所有u-form-item组件的内容本质上是调用了u-form-item组件中的resetField()方法
resetFields() {
this.resetModel();
},
// 重置model为初始值的快照
resetModel(obj) {
this.children.map((child) => {
const prop = child == null ? void 0 : child.prop;
const value = uni_modules_uviewPlus_libs_function_index.getProperty(this.originalModel, prop);
uni_modules_uviewPlus_libs_function_index.setProperty(this.model, prop, value);
});
},
// 清空校验结果
clearValidate(props) {
props = [].concat(props);
this.children.map((child) => {
if (props[0] === void 0 || props.includes(child.prop)) {
child.message = null;
}
});
},
// 对部分表单字段进行校验
async validateField(value, callback, event = null) {
this.$nextTick(() => {
const errorsRes = [];
value = [].concat(value);
this.children.map((child) => {
const childErrors = [];
if (value.includes(child.prop)) {
const propertyVal = uni_modules_uviewPlus_libs_function_index.getProperty(
this.model,
child.prop
);
const propertyChain = child.prop.split(".");
const propertyName = propertyChain[propertyChain.length - 1];
const rule = this.formRules[child.rule || child.prop];
if (!rule)
return;
const rules = [].concat(rule);
for (let i = 0; i < rules.length; i++) {
const ruleItem = rules[i];
const trigger = [].concat(ruleItem == null ? void 0 : ruleItem.trigger);
if (event && !trigger.includes(event))
continue;
const validator = new uni_modules_uviewPlus_libs_util_asyncValidator.Schema({
[propertyName]: ruleItem
});
validator.validate(
{
[propertyName]: propertyVal
},
(errors, fields) => {
var _a;
if (uni_modules_uviewPlus_libs_function_test.test.array(errors)) {
errorsRes.push(...errors);
childErrors.push(...errors);
}
child.message = ((_a = childErrors[0]) == null ? void 0 : _a.message) ? childErrors[0].message : null;
}
);
}
}
});
typeof callback === "function" && callback(errorsRes);
});
},
// 校验全部数据
validate(callback) {
if (Object.keys(this.formRules).length === 0) {
uni_modules_uviewPlus_libs_function_index.error("未设置rules请看文档说明如果已经设置请刷新页面。");
return;
}
return new Promise((resolve, reject) => {
this.$nextTick(() => {
const formItemProps = this.children.map(
(item) => item.prop
);
this.validateField(formItemProps, (errors) => {
if (errors.length) {
this.errorType === "toast" && uni_modules_uviewPlus_libs_function_index.toast(errors[0].message);
reject(errors);
} else {
resolve(true);
}
});
});
});
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-form/u-form.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="u-form"><slot/></view>

View File

@ -0,0 +1,189 @@
"use strict";
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
const props = {
props: {
// 绑定的值
modelValue: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.value
},
// number-数字输入键盘app-vue下可以输入浮点数app-nvue和小程序平台下只能输入整数
// idcard-身份证输入键盘微信、支付宝、百度、QQ小程序
// digit-带小数点的数字键盘App的nvue页面、微信、支付宝、百度、头条、QQ小程序
// text-文本输入键盘
type: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.type
},
// 如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true
// 兼容性微信小程序、百度小程序、字节跳动小程序、QQ小程序
fixed: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.fixed
},
// 是否禁用输入框
disabled: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.disabled
},
// 禁用状态时的背景色
disabledColor: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.disabledColor
},
// 是否显示清除控件
clearable: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.clearable
},
// 是否密码类型
password: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.password
},
// 最大输入长度,设置为 -1 的时候不限制最大长度
maxlength: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.maxlength
},
// 输入框为空时的占位符
placeholder: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.placeholder
},
// 指定placeholder的样式类注意页面或组件的style中写了scoped时需要在类名前写/deep/
placeholderClass: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.placeholderClass
},
// 指定placeholder的样式
placeholderStyle: {
type: [String, Object],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.placeholderStyle
},
// 是否显示输入字数统计,只在 type ="text"或type ="textarea"时有效
showWordLimit: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.showWordLimit
},
// 设置右下角按钮的文字有效值send|search|next|go|done兼容性详见uni-app文档
// https://uniapp.dcloud.io/component/input
// https://uniapp.dcloud.io/component/textarea
confirmType: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.confirmType
},
// 点击键盘右下角按钮时是否保持键盘不收起H5无效
confirmHold: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.confirmHold
},
// focus时点击页面的时候不收起键盘微信小程序有效
holdKeyboard: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.holdKeyboard
},
// 自动获取焦点
// 在 H5 平台能否聚焦以及软键盘是否跟随弹出取决于当前浏览器本身的实现。nvue 页面不支持,需使用组件的 focus()、blur() 方法控制焦点
focus: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.focus
},
// 键盘收起时是否自动失去焦点目前仅App3.0.0+有效
autoBlur: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.autoBlur
},
// 是否去掉 iOS 下的默认内边距仅微信小程序且type=textarea时有效
disableDefaultPadding: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.disableDefaultPadding
},
// 指定focus时光标的位置
cursor: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.cursor
},
// 输入框聚焦时底部与键盘的距离
cursorSpacing: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.cursorSpacing
},
// 光标起始位置自动聚集时有效需与selection-end搭配使用
selectionStart: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.selectionStart
},
// 光标结束位置自动聚集时有效需与selection-start搭配使用
selectionEnd: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.selectionEnd
},
// 键盘弹起时,是否自动上推页面
adjustPosition: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.adjustPosition
},
// 输入框内容对齐方式可选值为left|center|right
inputAlign: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.inputAlign
},
// 输入框字体的大小
fontSize: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.fontSize
},
// 输入框字体颜色
color: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.color
},
// 输入框前置图标
prefixIcon: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.prefixIcon
},
// 前置图标样式,对象或字符串
prefixIconStyle: {
type: [String, Object],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.prefixIconStyle
},
// 输入框后置图标
suffixIcon: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.suffixIcon
},
// 后置图标样式,对象或字符串
suffixIconStyle: {
type: [String, Object],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.suffixIconStyle
},
// 边框类型surround-四周边框bottom-底部边框none-无边框
border: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.border
},
// 是否只读与disabled不同之处在于disabled会置灰组件而readonly则不会
readonly: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.readonly
},
// 输入框形状circle-圆形square-方形
shape: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.shape
},
// 用于处理或者过滤输入框内容的方法
formatter: {
type: [Function, null],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.input.formatter
},
// 是否忽略组件内对文本合成系统事件的处理
ignoreCompositionEvent: {
type: Boolean,
default: true
}
}
};
exports.props = props;

View File

@ -0,0 +1,311 @@
"use strict";
const uni_modules_uviewPlus_components_uInput_props = require("./props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/config/props.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/color.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/function/test.js");
require("../../libs/util/route.js");
require("../../libs/function/digit.js");
const _sfc_main = {
name: "u-input",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uInput_props.props],
data() {
return {
// 清除操作
clearInput: false,
// 输入框的值
innerValue: "",
// 是否处于获得焦点状态
focused: false,
// value是否第一次变化在watch中由于加入immediate属性会在第一次触发此时不应该认为value发生了变化
firstChange: true,
// value绑定值的变化是由内部还是外部引起的
changeFromInner: false,
// 过滤处理方法
innerFormatter: (value) => value
};
},
watch: {
modelValue: {
immediate: true,
handler(newVal, oldVal) {
this.innerValue = newVal;
this.firstChange = false;
this.changeFromInner = false;
}
}
},
computed: {
// 是否显示清除控件
isShowClear() {
const { clearable, readonly, focused, innerValue } = this;
return !!clearable && !readonly && !!focused && innerValue !== "";
},
// 组件的类名
inputClass() {
let classes = [], { border, disabled, shape } = this;
border === "surround" && (classes = classes.concat(["u-border", "u-input--radius"]));
classes.push(`u-input--${shape}`);
border === "bottom" && (classes = classes.concat([
"u-border-bottom",
"u-input--no-radius"
]));
return classes.join(" ");
},
// 组件的样式
wrapperStyle() {
const style = {};
if (this.disabled) {
style.backgroundColor = this.disabledColor;
}
if (this.border === "none") {
style.padding = "0";
} else {
style.paddingTop = "6px";
style.paddingBottom = "6px";
style.paddingLeft = "9px";
style.paddingRight = "9px";
}
return uni_modules_uviewPlus_libs_function_index.deepMerge(style, uni_modules_uviewPlus_libs_function_index.addStyle(this.customStyle));
},
// 输入框的样式
inputStyle() {
const style = {
color: this.color,
fontSize: uni_modules_uviewPlus_libs_function_index.addUnit(this.fontSize),
textAlign: this.inputAlign
};
return style;
}
},
emits: ["update:modelValue", "focus", "blur", "change", "confirm", "clear", "keyboardheightchange"],
methods: {
// 在微信小程序中不支持将函数当做props参数故只能通过ref形式调用
setFormatter(e) {
this.innerFormatter = e;
},
// 当键盘输入时触发input事件
onInput(e) {
let { value = "" } = e.detail || {};
const formatter = this.formatter || this.innerFormatter;
const formatValue = formatter(value);
this.innerValue = value;
this.$nextTick(() => {
this.innerValue = formatValue;
this.valueChange();
});
},
// 输入框失去焦点时触发
onBlur(event) {
this.$emit("blur", event.detail.value);
uni_modules_uviewPlus_libs_function_index.sleep(150).then(() => {
this.focused = false;
});
uni_modules_uviewPlus_libs_function_index.formValidate(this, "blur");
},
// 输入框聚焦时触发
onFocus(event) {
this.focused = true;
this.$emit("focus");
},
// 点击完成按钮时触发
onConfirm(event) {
this.$emit("confirm", this.innerValue);
},
// 键盘高度发生变化的时候触发此事件
// 兼容性微信小程序2.7.0+、App 3.1.0+
onkeyboardheightchange(event) {
this.$emit("keyboardheightchange", event);
},
// 内容发生变化,进行处理
valueChange() {
if (this.clearInput) {
this.innerValue = "";
this.clearInput = false;
}
const value = this.innerValue;
this.$nextTick(() => {
this.$emit("update:modelValue", value);
this.changeFromInner = true;
this.$emit("change", value);
uni_modules_uviewPlus_libs_function_index.formValidate(this, "change");
});
},
// 点击清除控件
onClear() {
this.clearInput = true;
this.innerValue = "";
this.$nextTick(() => {
this.valueChange();
this.$emit("clear");
});
},
/**
* 在安卓nvue上事件无法冒泡
* 在某些时间我们希望监听u-from-item的点击事件此时会导致点击u-form-item内的u-input后
* 无法触发u-form-item的点击事件这里通过手动调用u-form-item的方法进行触发
*/
clickHandler() {
}
}
};
if (!Array) {
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
_easycom_u_icon2();
}
const _easycom_u_icon = () => "../u-icon/u-icon.js";
if (!Math) {
_easycom_u_icon();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: _ctx.prefixIcon || _ctx.$slots.prefix
}, _ctx.prefixIcon || _ctx.$slots.prefix ? {
b: common_vendor.p({
name: _ctx.prefixIcon,
size: "18",
customStyle: _ctx.prefixIconStyle
})
} : {}, {
c: common_vendor.s($options.inputStyle),
d: _ctx.type,
e: _ctx.focus,
f: _ctx.cursor,
g: $data.innerValue,
h: _ctx.autoBlur,
i: _ctx.disabled || _ctx.readonly,
j: _ctx.maxlength,
k: _ctx.placeholder,
l: _ctx.placeholderStyle,
m: _ctx.placeholderClass,
n: _ctx.confirmType,
o: _ctx.confirmHold,
p: _ctx.holdKeyboard,
q: _ctx.cursorSpacing,
r: _ctx.adjustPosition,
s: _ctx.selectionEnd,
t: _ctx.selectionStart,
v: _ctx.password || _ctx.type === "password" || false,
w: _ctx.ignoreCompositionEvent,
x: common_vendor.o((...args) => $options.onInput && $options.onInput(...args)),
y: common_vendor.o((...args) => $options.onBlur && $options.onBlur(...args)),
z: common_vendor.o((...args) => $options.onFocus && $options.onFocus(...args)),
A: common_vendor.o((...args) => $options.onConfirm && $options.onConfirm(...args)),
B: common_vendor.o((...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)),
C: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
D: $options.isShowClear
}, $options.isShowClear ? {
E: common_vendor.p({
name: "close",
size: "11",
color: "#ffffff",
customStyle: "line-height: 12px"
}),
F: common_vendor.o((...args) => $options.onClear && $options.onClear(...args))
} : {}, {
G: _ctx.suffixIcon || _ctx.$slots.suffix
}, _ctx.suffixIcon || _ctx.$slots.suffix ? {
H: common_vendor.p({
name: _ctx.suffixIcon,
size: "18",
customStyle: _ctx.suffixIconStyle
})
} : {}, {
I: common_vendor.n($options.inputClass),
J: common_vendor.s($options.wrapperStyle)
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-df79975b"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-input/u-input.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"u-icon": "../u-icon/u-icon"
}
}

View File

@ -0,0 +1 @@
<view class="{{['u-input', 'data-v-df79975b', I]}}" style="{{J}}"><view class="u-input__content data-v-df79975b"><view wx:if="{{a}}" class="u-input__content__prefix-icon data-v-df79975b"><block wx:if="{{$slots.prefix}}"><slot name="prefix"></slot></block><block wx:else><u-icon wx:if="{{b}}" class="data-v-df79975b" u-i="df79975b-0" bind:__l="__l" u-p="{{b}}"></u-icon></block></view><view class="u-input__content__field-wrapper data-v-df79975b" bindtap="{{C}}"><block wx:if="{{r0}}"><input class="u-input__content__field-wrapper__field data-v-df79975b" style="{{c}}" type="{{d}}" focus="{{e}}" cursor="{{f}}" value="{{g}}" auto-blur="{{h}}" disabled="{{i}}" maxlength="{{j}}" placeholder="{{k}}" placeholder-style="{{l}}" placeholder-class="{{m}}" confirm-type="{{n}}" confirm-hold="{{o}}" hold-keyboard="{{p}}" cursor-spacing="{{q}}" adjust-position="{{r}}" selection-end="{{s}}" selection-start="{{t}}" password="{{v}}" ignoreCompositionEvent="{{w}}" bindinput="{{x}}" bindblur="{{y}}" bindfocus="{{z}}" bindconfirm="{{A}}" bindkeyboardheightchange="{{B}}"/></block></view><view wx:if="{{D}}" class="u-input__content__clear data-v-df79975b" bindtap="{{F}}"><u-icon wx:if="{{E}}" class="data-v-df79975b" u-i="df79975b-1" bind:__l="__l" u-p="{{E}}"></u-icon></view><view wx:if="{{G}}" class="u-input__content__subfix-icon data-v-df79975b"><block wx:if="{{$slots.suffix}}"><slot name="suffix"></slot></block><block wx:else><u-icon wx:if="{{H}}" class="data-v-df79975b" u-i="df79975b-2" bind:__l="__l" u-p="{{H}}"></u-icon></block></view></view></view>

View File

@ -0,0 +1,97 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-df79975b,
.u-empty__wrap.data-v-df79975b,
.u-tabs.data-v-df79975b,
.u-tabs__wrapper.data-v-df79975b,
.u-tabs__wrapper__scroll-view-wrapper.data-v-df79975b,
.u-tabs__wrapper__scroll-view.data-v-df79975b,
.u-tabs__wrapper__nav.data-v-df79975b,
.u-tabs__wrapper__nav__line.data-v-df79975b {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-input.data-v-df79975b {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
flex: 1;
}
.u-input--radius.data-v-df79975b, .u-input--square.data-v-df79975b {
border-radius: 4px;
}
.u-input--no-radius.data-v-df79975b {
border-radius: 0;
}
.u-input--circle.data-v-df79975b {
border-radius: 100px;
}
.u-input__content.data-v-df79975b {
flex: 1;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.u-input__content__field-wrapper.data-v-df79975b {
position: relative;
display: flex;
flex-direction: row;
margin: 0;
flex: 1;
}
.u-input__content__field-wrapper__field.data-v-df79975b {
line-height: 26px;
text-align: left;
color: #303133;
height: 24px;
font-size: 15px;
flex: 1;
}
.u-input__content__clear.data-v-df79975b {
width: 20px;
height: 20px;
border-radius: 100px;
background-color: #c6c7cb;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
transform: scale(0.82);
margin-left: 4px;
}
.u-input__content__subfix-icon.data-v-df79975b {
margin-left: 4px;
}
.u-input__content__prefix-icon.data-v-df79975b {
margin-right: 4px;
}

View File

@ -0,0 +1,52 @@
"use strict";
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
const props = {
props: {
// 提示内容
loadingText: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.loadingText
},
// 文字上方用于替换loading动画的图片
image: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.image
},
// 加载动画的模式circle-圆形spinner-花朵形semicircle-半圆形
loadingMode: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.loadingMode
},
// 是否加载中
loading: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.loading
},
// 背景色
bgColor: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.bgColor
},
// 文字颜色
color: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.color
},
// 文字大小
fontSize: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.fontSize
},
// 图标大小
iconSize: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.fontSize
},
// 加载中图标的颜色只能rgb或者十六进制颜色值
loadingColor: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.loadingPage.loadingColor
}
}
};
exports.props = props;

View File

@ -0,0 +1,153 @@
"use strict";
const uni_modules_uviewPlus_components_uLoadingPage_props = require("./props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/config/props.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/color.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/function/test.js");
require("../../libs/util/route.js");
require("../../libs/function/digit.js");
const _sfc_main = {
name: "u-loading-page",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uLoadingPage_props.props],
data() {
return {};
},
methods: {
addUnit: uni_modules_uviewPlus_libs_function_index.addUnit
}
};
if (!Array) {
const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
const _easycom_u_transition2 = common_vendor.resolveComponent("u-transition");
(_easycom_u_loading_icon2 + _easycom_u_transition2)();
}
const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
const _easycom_u_transition = () => "../u-transition/u-transition.js";
if (!Math) {
(_easycom_u_loading_icon + _easycom_u_transition)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: _ctx.image
}, _ctx.image ? {
b: _ctx.image,
c: $options.addUnit(_ctx.iconSize),
d: $options.addUnit(_ctx.iconSize)
} : {
e: common_vendor.p({
mode: _ctx.loadingMode,
size: $options.addUnit(_ctx.iconSize),
color: _ctx.loadingColor
})
}, {
f: common_vendor.t(_ctx.loadingText),
g: $options.addUnit(_ctx.fontSize),
h: _ctx.color,
i: common_vendor.p({
show: _ctx.loading,
["custom-style"]: {
position: "fixed",
top: 0,
left: 0,
right: 0,
bottom: 0,
backgroundColor: _ctx.bgColor,
display: "flex"
}
})
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9c9e88a3"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-loading-page/u-loading-page.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"u-loading-icon": "../u-loading-icon/u-loading-icon",
"u-transition": "../u-transition/u-transition"
}
}

View File

@ -0,0 +1 @@
<u-transition wx:if="{{i}}" class="data-v-9c9e88a3" u-s="{{['d']}}" u-i="9c9e88a3-0" bind:__l="__l" u-p="{{i}}"><view class="u-loading-page data-v-9c9e88a3"><view class="u-loading-page__warpper data-v-9c9e88a3"><view class="u-loading-page__warpper__loading-icon data-v-9c9e88a3"><image wx:if="{{a}}" src="{{b}}" class="u-loading-page__warpper__loading-icon__img data-v-9c9e88a3" mode="widthFit" style="{{'width:' + c + ';' + ('height:' + d)}}"></image><u-loading-icon wx:else class="data-v-9c9e88a3" u-i="9c9e88a3-1,9c9e88a3-0" bind:__l="__l" u-p="{{e||''}}"></u-loading-icon></view><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else><text class="u-loading-page__warpper__text data-v-9c9e88a3" style="{{'font-size:' + g + ';' + ('color:' + h)}}">{{f}}</text></block></view></view></u-transition>

View File

@ -0,0 +1,68 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-9c9e88a3,
.u-empty__wrap.data-v-9c9e88a3,
.u-tabs.data-v-9c9e88a3,
.u-tabs__wrapper.data-v-9c9e88a3,
.u-tabs__wrapper__scroll-view-wrapper.data-v-9c9e88a3,
.u-tabs__wrapper__scroll-view.data-v-9c9e88a3,
.u-tabs__wrapper__nav.data-v-9c9e88a3,
.u-tabs__wrapper__nav__line.data-v-9c9e88a3 {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-loading-page.data-v-9c9e88a3 {
display: flex;
flex-direction: column;
flex: 1;
align-items: center;
justify-content: center;
}
.u-loading-page__warpper.data-v-9c9e88a3 {
margin-top: -150px;
justify-content: center;
align-items: center;
color: #c8c8c8;
font-size: 19px;
display: flex;
flex-direction: column;
}
.u-loading-page__warpper__loading-icon.data-v-9c9e88a3 {
margin-bottom: 10px;
}
.u-loading-page__warpper__loading-icon__img.data-v-9c9e88a3 {
width: 40px;
height: 40px;
}
.u-loading-page__warpper__text.data-v-9c9e88a3 {
font-size: 19px;
color: #c8c8c8;
}

View File

@ -0,0 +1,57 @@
"use strict";
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
const props = {
props: {
// 是否为加载中状态
loading: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.loading
},
// 是否为禁用装填
disabled: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.disabled
},
// 开关尺寸单位px
size: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.size
},
// 打开时的背景颜色
activeColor: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.activeColor
},
// 关闭时的背景颜色
inactiveColor: {
type: String,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.inactiveColor
},
// 通过v-model双向绑定的值
modelValue: {
type: [Boolean, String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.value
},
// switch打开时的值
activeValue: {
type: [String, Number, Boolean],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.activeValue
},
// switch关闭时的值
inactiveValue: {
type: [String, Number, Boolean],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.inactiveValue
},
// 是否开启异步变更,开启后需要手动控制输入值
asyncChange: {
type: Boolean,
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.asyncChange
},
// 圆点与外边框的距离
space: {
type: [String, Number],
default: () => uni_modules_uviewPlus_libs_config_props.defProps.switch.space
}
}
};
exports.props = props;

View File

@ -0,0 +1,196 @@
"use strict";
const uni_modules_uviewPlus_components_uSwitch_props = require("./props.js");
const uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js");
const uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js");
const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
const common_vendor = require("../../../../common/vendor.js");
require("../../libs/config/props.js");
require("../../libs/config/config.js");
require("../../libs/config/props/actionSheet.js");
require("../../libs/config/props/album.js");
require("../../libs/config/props/alert.js");
require("../../libs/config/props/avatar.js");
require("../../libs/config/props/avatarGroup.js");
require("../../libs/config/props/backtop.js");
require("../../libs/config/props/badge.js");
require("../../libs/config/props/button.js");
require("../../libs/config/props/calendar.js");
require("../../libs/config/props/carKeyboard.js");
require("../../libs/config/props/cell.js");
require("../../libs/config/props/cellGroup.js");
require("../../libs/config/props/checkbox.js");
require("../../libs/config/props/checkboxGroup.js");
require("../../libs/config/props/circleProgress.js");
require("../../libs/config/props/code.js");
require("../../libs/config/props/codeInput.js");
require("../../libs/config/props/col.js");
require("../../libs/config/props/collapse.js");
require("../../libs/config/props/collapseItem.js");
require("../../libs/config/props/columnNotice.js");
require("../../libs/config/props/countDown.js");
require("../../libs/config/props/countTo.js");
require("../../libs/config/props/datetimePicker.js");
require("../../libs/config/props/divider.js");
require("../../libs/config/props/empty.js");
require("../../libs/config/props/form.js");
require("../../libs/config/props/formItem.js");
require("../../libs/config/props/gap.js");
require("../../libs/config/props/grid.js");
require("../../libs/config/props/gridItem.js");
require("../../libs/config/props/icon.js");
require("../../libs/config/props/image.js");
require("../../libs/config/props/indexAnchor.js");
require("../../libs/config/props/indexList.js");
require("../../libs/config/props/input.js");
require("../../libs/config/props/keyboard.js");
require("../../libs/config/props/line.js");
require("../../libs/config/props/lineProgress.js");
require("../../libs/config/props/link.js");
require("../../libs/config/props/list.js");
require("../../libs/config/props/listItem.js");
require("../../libs/config/props/loadingIcon.js");
require("../../libs/config/props/loadingPage.js");
require("../../libs/config/props/loadmore.js");
require("../../libs/config/props/modal.js");
require("../../libs/config/props/navbar.js");
require("../../libs/config/color.js");
require("../../libs/config/props/noNetwork.js");
require("../../libs/config/props/noticeBar.js");
require("../../libs/config/props/notify.js");
require("../../libs/config/props/numberBox.js");
require("../../libs/config/props/numberKeyboard.js");
require("../../libs/config/props/overlay.js");
require("../../libs/config/props/parse.js");
require("../../libs/config/props/picker.js");
require("../../libs/config/props/popup.js");
require("../../libs/config/props/radio.js");
require("../../libs/config/props/radioGroup.js");
require("../../libs/config/props/rate.js");
require("../../libs/config/props/readMore.js");
require("../../libs/config/props/row.js");
require("../../libs/config/props/rowNotice.js");
require("../../libs/config/props/scrollList.js");
require("../../libs/config/props/search.js");
require("../../libs/config/props/section.js");
require("../../libs/config/props/skeleton.js");
require("../../libs/config/props/slider.js");
require("../../libs/config/props/statusBar.js");
require("../../libs/config/props/steps.js");
require("../../libs/config/props/stepsItem.js");
require("../../libs/config/props/sticky.js");
require("../../libs/config/props/subsection.js");
require("../../libs/config/props/swipeAction.js");
require("../../libs/config/props/swipeActionItem.js");
require("../../libs/config/props/swiper.js");
require("../../libs/config/props/swipterIndicator.js");
require("../../libs/config/props/switch.js");
require("../../libs/config/props/tabbar.js");
require("../../libs/config/props/tabbarItem.js");
require("../../libs/config/props/tabs.js");
require("../../libs/config/props/tag.js");
require("../../libs/config/props/text.js");
require("../../libs/config/props/textarea.js");
require("../../libs/config/props/toast.js");
require("../../libs/config/props/toolbar.js");
require("../../libs/config/props/tooltip.js");
require("../../libs/config/props/transition.js");
require("../../libs/config/props/upload.js");
require("../../libs/function/test.js");
require("../../libs/util/route.js");
require("../../libs/function/digit.js");
const _sfc_main = {
name: "u-switch",
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uSwitch_props.props],
watch: {
modelValue: {
immediate: true,
handler(n) {
if (n !== this.inactiveValue && n !== this.activeValue) {
uni_modules_uviewPlus_libs_function_index.error("v-model绑定的值必须为inactiveValue、activeValue二者之一");
}
}
}
},
data() {
return {
bgColor: "#ffffff"
};
},
computed: {
isActive() {
return this.modelValue === this.activeValue;
},
switchStyle() {
let style = {};
style.width = uni_modules_uviewPlus_libs_function_index.addUnit(this.size * 2 + 2);
style.height = uni_modules_uviewPlus_libs_function_index.addUnit(Number(this.size) + 2);
if (this.customInactiveColor) {
style.borderColor = "rgba(0, 0, 0, 0)";
}
style.backgroundColor = this.isActive ? this.activeColor : this.inactiveColor;
return style;
},
nodeStyle() {
let style = {};
style.width = uni_modules_uviewPlus_libs_function_index.addUnit(this.size - this.space);
style.height = uni_modules_uviewPlus_libs_function_index.addUnit(this.size - this.space);
const translateX = this.isActive ? uni_modules_uviewPlus_libs_function_index.addUnit(this.space) : uni_modules_uviewPlus_libs_function_index.addUnit(this.size);
style.transform = `translateX(-${translateX})`;
return style;
},
bgStyle() {
let style = {};
style.width = uni_modules_uviewPlus_libs_function_index.addUnit(Number(this.size) * 2 - this.size / 2);
style.height = uni_modules_uviewPlus_libs_function_index.addUnit(this.size);
style.backgroundColor = this.inactiveColor;
style.transform = `scale(${this.isActive ? 0 : 1})`;
return style;
},
customInactiveColor() {
return this.inactiveColor !== "#fff" && this.inactiveColor !== "#ffffff";
}
},
emits: ["update:modelValue", "change"],
methods: {
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle,
clickHandler() {
if (!this.disabled && !this.loading) {
const oldValue = this.isActive ? this.inactiveValue : this.activeValue;
if (!this.asyncChange) {
this.$emit("update:modelValue", oldValue);
}
this.$nextTick(() => {
this.$emit("change", oldValue);
});
}
}
}
};
if (!Array) {
const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
_easycom_u_loading_icon2();
}
const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
if (!Math) {
_easycom_u_loading_icon();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.s($options.bgStyle),
b: common_vendor.p({
show: _ctx.loading,
mode: "circle",
timingFunction: "linear",
color: _ctx.modelValue ? _ctx.activeColor : "#AAABAD",
size: _ctx.size * 0.6
}),
c: common_vendor.n(_ctx.modelValue && "u-switch__node--on"),
d: common_vendor.s($options.nodeStyle),
e: common_vendor.n(_ctx.disabled && "u-switch--disabled"),
f: common_vendor.s($options.switchStyle),
g: common_vendor.s($options.addStyle(_ctx.customStyle)),
h: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args))
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-6ab257b3"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-switch/u-switch.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"u-loading-icon": "../u-loading-icon/u-loading-icon"
}
}

View File

@ -0,0 +1 @@
<view class="{{['u-switch', 'cursor-pointer', 'data-v-6ab257b3', e]}}" style="{{f + ';' + g}}" bindtap="{{h}}"><view class="u-switch__bg data-v-6ab257b3" style="{{a}}"></view><view class="{{['u-switch__node', 'data-v-6ab257b3', c]}}" style="{{d}}" ref="u-switch__node"><u-loading-icon wx:if="{{b}}" class="data-v-6ab257b3" u-i="6ab257b3-0" bind:__l="__l" u-p="{{b}}"/></view></view>

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