Compare commits
No commits in common. "8c03b3eafc1f28e860f974ffd80b3e49ffbba8fa" and "a8fae1ab1c634b193f90da5c9f921175df703deb" have entirely different histories.
8c03b3eafc
...
a8fae1ab1c
|
@ -1,33 +1,27 @@
|
|||
<template>
|
||||
<!-- fixed -->
|
||||
<up-popup :show="show" closeable round="10" @close="close">
|
||||
<view class="address-popup">
|
||||
<view class="head-title">提货点</view>
|
||||
<view class="head-title">选择提货点</view>
|
||||
<view class="list-admin">
|
||||
<up-search placeholder="请输入提货点名称" @search="searchKeyword" v-model="keyword"
|
||||
@custom="searchKeyword"></up-search>
|
||||
</view>
|
||||
<scroll-view style="height: 600rpx;padding-bottom: 20rpx;" scroll-y>
|
||||
<view class="list-li border" v-for="(item,index) in list" :key="index" @click="addressType=index">
|
||||
<view class="list-li-top">
|
||||
<view class="">
|
||||
<text>{{item.mer_name}}</text>
|
||||
<text v-if="index==0"
|
||||
style="background-color: #38BE41;color: white;font-size: 18rpx;margin-left: 24rpx;padding: 0 5rpx;">距离最近</text>
|
||||
<text class="distance">步行{{item.distance}}</text>
|
||||
<view class="row" v-for="(item,index) in list" :key="index" @click="addressType=index">
|
||||
<view class="content">
|
||||
<view class="top">
|
||||
<view class="name">{{item.mer_name}}</view>
|
||||
<u-tag v-if="item.distance" style="pointer-events: none;" :text="item.distance"
|
||||
type="success" plain size="mini"></u-tag>
|
||||
</view>
|
||||
<view class="bottom u-line-2">{{item.service_phone}}</view>
|
||||
</view>
|
||||
<view class="">
|
||||
{{item.mer_address||'sdsd'}}
|
||||
</view>
|
||||
<view class="check">
|
||||
<image style="width: 36rpx;height: 36rpx" v-if="addressType==index"
|
||||
src="@/static/icon/check.png">
|
||||
</image>
|
||||
<image style="width: 36rpx;height: 36rpx" v-else src="@/static/icon/n-check.png"></image>
|
||||
</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>
|
||||
<up-button color="#20B128" shape="circle" @click="submitAddress">确认提货点</up-button>
|
||||
</view>
|
||||
</up-popup>
|
||||
</template>
|
||||
|
@ -137,38 +131,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
.border {
|
||||
border-bottom: 1px solid #F3F3F3;
|
||||
}
|
||||
|
||||
.list-li {
|
||||
padding: 30rpx 0;
|
||||
font-size: 24rpx;
|
||||
position: relative;
|
||||
|
||||
.list-li-top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 10rpx;
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.distance {
|
||||
border: 1px solid #40AE36;
|
||||
font-size: 18rpx;
|
||||
color: #40AE36;
|
||||
margin-left: 20rpx;
|
||||
padding: 0 5rpx;
|
||||
}
|
||||
|
||||
.check {
|
||||
position: absolute;
|
||||
right: 20rpx;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes disappear {
|
||||
to {
|
||||
opacity: 0;
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<template>
|
||||
<view class="">
|
||||
商品详情
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
|
@ -1,121 +1,18 @@
|
|||
<template>
|
||||
<view class="content">
|
||||
<up-sticky bgColor="#fff">
|
||||
<view class="head">
|
||||
<up-search placeholder="请输入提货点名称" @search="searchKeyword" v-model="keyword"
|
||||
@custom="searchKeyword"></up-search>
|
||||
<view class="">
|
||||
<view class="" style="display: flex;justify-content: space-around;margin-top: 24rpx;">
|
||||
<view :class="{act: tabIndex==1}" @click="tabIndex=1">
|
||||
订单列表
|
||||
</view>
|
||||
<view :class="{act: tabIndex==2}" @click="tabIndex=2">
|
||||
报价记录
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 8rpx;" />
|
||||
<view class="line" :style="{left:tabIndex==1?tabsLeft+'px':tabsRight+'px'}" />
|
||||
</view>
|
||||
</view>
|
||||
</up-sticky>
|
||||
<view class="card" v-for="item in 10">
|
||||
<view class="card-head">
|
||||
<text>PF171504442988969633</text>
|
||||
<text style="color:#20B128 ;">待报价</text>
|
||||
</view>
|
||||
<view class="card-content">
|
||||
<image v-for="(item,index) in 10" style="width: 152rpx;height: 152rpx;margin-right: 20rpx;"
|
||||
src="../../static/logo.png" mode="">
|
||||
</image>
|
||||
</view>
|
||||
<view class="total">
|
||||
<view style="display: flex;align-items: center;">
|
||||
共4件 <up-icon name="arrow-right"></up-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="">
|
||||
<up-navbar placeholder style="z-index: 10080;">
|
||||
<template #left>
|
||||
<view style="font-size: 30rpx;font-weight: bold;" @click="test">报价单</view>
|
||||
</template>
|
||||
</up-navbar>
|
||||
|
||||
dgfsdhjg
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
ref,
|
||||
reactive
|
||||
} from "vue"
|
||||
|
||||
// 搜索
|
||||
const keyword = ref('')
|
||||
const searchKeyword = () => {
|
||||
console.log("sousuo1")
|
||||
}
|
||||
// 搜索结束
|
||||
|
||||
// tabsindex
|
||||
const tabIndex = ref(1)
|
||||
const {
|
||||
windowWidth
|
||||
} = uni.getSystemInfoSync();
|
||||
const tabsLeft = ref(((windowWidth / 2) - 26) / 2)
|
||||
const tabsRight = ref(tabsLeft.value + (windowWidth / 2))
|
||||
// tabsindex结束
|
||||
<script>
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.content {
|
||||
|
||||
.head {
|
||||
padding: 20rpx;
|
||||
background-color: white;
|
||||
position: relative;
|
||||
|
||||
.act {
|
||||
color: #20B128;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 26px;
|
||||
height: 5rpx;
|
||||
background-color: #20B128;
|
||||
border-radius: 50rpx;
|
||||
position: absolute;
|
||||
transition: 300ms;
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
width: 710rpx;
|
||||
margin: 20rpx auto;
|
||||
background-color: white;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx;
|
||||
border-radius: 16rpx;
|
||||
position: relative;
|
||||
|
||||
.card-head {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
|
||||
.card-content {
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
padding-right: 152rpx;
|
||||
}
|
||||
|
||||
.total {
|
||||
width: 152rpx;
|
||||
height: 160rpx;
|
||||
position: absolute;
|
||||
border: 1px dashed black;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
top: 60rpx;
|
||||
right: 20rpx;
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
}
|
||||
<style>
|
||||
</style>
|
|
@ -88,9 +88,16 @@
|
|||
"style": {
|
||||
"navigationBarTitleText": "报价单",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "goodDetail/index",
|
||||
"style": {
|
||||
"navigationBarTitleText": "商品详情",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}],
|
||||
|
||||
|
|
|
@ -1,106 +1,95 @@
|
|||
<template>
|
||||
<view class="">
|
||||
<!-- <view class="m-card row">
|
||||
<view class="">
|
||||
<!-- <view class="m-card row">
|
||||
<up-cell-group>
|
||||
<up-cell title="请添加自提点" :isLink="true" :border="false" @click="shopListShow=true"></up-cell>
|
||||
</up-cell-group>
|
||||
</view> -->
|
||||
<view v-if="!addressInfo.address_id" class="m-card row">
|
||||
<up-cell-group>
|
||||
<up-cell title="我的地址" :isLink="true" :border="false" @click="openAddress()"></up-cell>
|
||||
</up-cell-group>
|
||||
</view>
|
||||
<view v-else class="m-card m-address">
|
||||
<view class="address-info">
|
||||
<view class="top">
|
||||
<up-icon name="account"></up-icon>
|
||||
<view class="t-name">{{addressInfo.real_name}}</view>
|
||||
<view>{{addressInfo.phone}}</view>
|
||||
</view>
|
||||
<view class="bottom u-line-2">
|
||||
{{addressInfo.detail}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="address-btn">
|
||||
<view style="width: 80px;"><up-button @click="showAddress = true" size="small" shape="circle"
|
||||
color="#f6f6f6" :customStyle="{color:'#666666'}">修改</up-button></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-card m-address">
|
||||
<view class="address-info">
|
||||
<view class="top" style="align-items: flex-start;">
|
||||
<view style="color: #333;display: flex;align-items: center;">
|
||||
<up-icon name="map"></up-icon>
|
||||
<text style="margin: 0 10rpx;">提货人</text>
|
||||
</view>
|
||||
<view v-if="shopInfo.mer_id">
|
||||
<view> <text>姓名</text> {{shopInfo.service_phone}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="top" style="align-items: flex-start;margin-top: 20rpx;">
|
||||
<view style="color: #333;display: flex;align-items: center;">
|
||||
<up-icon name="map"></up-icon>
|
||||
<text style="margin: 0 10rpx;">自提点</text>
|
||||
</view>
|
||||
<view v-if="shopInfo.mer_id">
|
||||
<view>{{shopInfo.mer_name}}</view>
|
||||
<view>
|
||||
<text>自提点具体地址</text>
|
||||
<!-- <text
|
||||
style="color: #20b128;margin-left: 10rpx;font-size: 22rpx;">{{shopInfo.distance}}</text> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="address-btn">
|
||||
<view style="width: 80px;"><up-button @click="shopListShow=true" size="small" shape="circle"
|
||||
color="#f6f6f6" :customStyle="{color:'#666666'}">修改</up-button></view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="m-card m-good" v-for="(item,index) in cartList" :key="index">
|
||||
<view class="image">
|
||||
<up-image width="160rpx" height="160rpx" :src="item.imgs"></up-image>
|
||||
</view>
|
||||
<view class="body-content">
|
||||
<view>
|
||||
<view class="title">
|
||||
<view>{{item.name}}</view>
|
||||
<view>¥{{item.price}}</view>
|
||||
</view>
|
||||
<view class="tips">
|
||||
<view>{{item.unit_name}}</view>
|
||||
<view>x{{item.cart_num}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="time">
|
||||
{{orderInfo.delivery_msg}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-card good-info">
|
||||
<view class="head-title">价格明细</view>
|
||||
<view class="row">
|
||||
<view>商品总价 <text>共计{{cartList.length}}款商品</text></view>
|
||||
<view><text>¥</text>{{c_price(orderInfo.total, 0)}}<text>.{{c_price(orderInfo.total, 1)}}</text></view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view>运费</view>
|
||||
<view><text>¥</text>0<text>.00</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-card good-info">
|
||||
<view class="head-title">支付方式</view>
|
||||
<view class="row">
|
||||
<view class="icon-text"><up-icon name="weixin-circle-fill" color="#20b128" size="22"
|
||||
style="margin-right: 10rpx;"></up-icon> 微信支付</view>
|
||||
<view class="icon">
|
||||
<image v-if="true" src="@/static/icon/check.png"></image>
|
||||
<image v-else src="@/static/icon/n-check.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="m-card order-remark">
|
||||
<view class="m-card m-address">
|
||||
<view class="address-info">
|
||||
<view class="top" style="align-items: flex-start;">
|
||||
<view style="color: #333;display: flex;align-items: center;">
|
||||
<up-icon name="map"></up-icon>
|
||||
<text style="margin: 0 10rpx;">自提点</text>
|
||||
</view>
|
||||
<view v-if="shopInfo.mer_id">
|
||||
<view>{{shopInfo.mer_name}}</view>
|
||||
<view>
|
||||
<text>{{shopInfo.service_phone}}</text>
|
||||
<text style="color: #20b128;margin-left: 10rpx;font-size: 22rpx;">{{shopInfo.distance}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="address-btn">
|
||||
<view style="width: 80px;"><up-button @click="shopListShow=true" size="small" shape="circle" color="#f6f6f6"
|
||||
:customStyle="{color:'#666666'}">修改</up-button></view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="!addressInfo.address_id" class="m-card row">
|
||||
<up-cell-group>
|
||||
<up-cell title="我的地址" :isLink="true" :border="false" @click="openAddress()"></up-cell>
|
||||
</up-cell-group>
|
||||
</view>
|
||||
<view v-else class="m-card m-address">
|
||||
<view class="address-info">
|
||||
<view class="top">
|
||||
<up-icon name="account"></up-icon>
|
||||
<view class="t-name">{{addressInfo.real_name}}</view>
|
||||
<view>{{addressInfo.phone}}</view>
|
||||
</view>
|
||||
<view class="bottom u-line-2">
|
||||
{{addressInfo.detail}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="address-btn">
|
||||
<view style="width: 80px;"><up-button @click="showAddress = true" size="small" shape="circle" color="#f6f6f6"
|
||||
:customStyle="{color:'#666666'}">修改</up-button></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-card m-good" v-for="(item,index) in cartList" :key="index">
|
||||
<view class="image" >
|
||||
<up-image width="160rpx" height="160rpx" :src="item.imgs"></up-image>
|
||||
</view>
|
||||
<view class="body-content">
|
||||
<view>
|
||||
<view class="title">
|
||||
<view>{{item.name}}</view>
|
||||
<view>¥{{item.price}}</view>
|
||||
</view>
|
||||
<view class="tips">
|
||||
<view>{{item.unit_name}}</view>
|
||||
<view>x{{item.cart_num}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="time">
|
||||
{{orderInfo.delivery_msg}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-card good-info">
|
||||
<view class="head-title">价格明细</view>
|
||||
<view class="row">
|
||||
<view>商品总价 <text>共计{{cartList.length}}款商品</text></view>
|
||||
<view><text>¥</text>{{c_price(orderInfo.total, 0)}}<text>.{{c_price(orderInfo.total, 1)}}</text></view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view>运费</view>
|
||||
<view><text>¥</text>0<text>.00</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="m-card good-info">
|
||||
<view class="head-title">支付方式</view>
|
||||
<view class="row">
|
||||
<view class="icon-text"><up-icon name="weixin-circle-fill" color="#20b128" size="22"
|
||||
style="margin-right: 10rpx;"></up-icon> 微信支付</view>
|
||||
<view class="icon">
|
||||
<image v-if="true" src="@/static/icon/check.png"></image>
|
||||
<image v-else src="@/static/icon/n-check.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="m-card order-remark">
|
||||
<view class="head-title">
|
||||
<text>订单备注</text>
|
||||
<text>0/200</text>
|
||||
|
@ -108,159 +97,144 @@
|
|||
<up-textarea style="background-color: #F6F6F6;" v-model="formData.remark" placeholder="暂无备注内容"
|
||||
:height="100"></up-textarea>
|
||||
</view> -->
|
||||
<view style="width: 100%;height: 200rpx;"></view>
|
||||
<view class="fiexd-btn-box">
|
||||
<view class="tips">
|
||||
<view style="margin-right: 20rpx;">共 {{ cartList.length }} 款</view>
|
||||
<view class="all">
|
||||
<text style="color: #000;">合计: </text>
|
||||
<text>¥</text>
|
||||
<block v-if="orderInfo.total">
|
||||
<text style="font-size: 32rpx;font-weight: bold;">{{c_price(orderInfo.total, 0)}}</text>
|
||||
<text>.{{c_price(orderInfo.total, 1)}}</text>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view style="width: 200rpx;">
|
||||
<up-button color="#20B128" shape="circle" @click="submitOrder">提交订单</up-button>
|
||||
</view>
|
||||
</view>
|
||||
<view style="width: 100%;height: 200rpx;"></view>
|
||||
<view class="fiexd-btn-box">
|
||||
<view class="tips">
|
||||
<view style="margin-right: 20rpx;">共 {{ cartList.length }} 款</view>
|
||||
<view class="all">
|
||||
<text style="color: #000;">合计: </text>
|
||||
<text>¥</text>
|
||||
<block v-if="orderInfo.total">
|
||||
<text style="font-size: 32rpx;font-weight: bold;">{{c_price(orderInfo.total, 0)}}</text>
|
||||
<text>.{{c_price(orderInfo.total, 1)}}</text>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view style="width: 200rpx;">
|
||||
<up-button color="#20B128" shape="circle" @click="submitOrder">提交订单</up-button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<addressPopup v-if="addressList.length>0" :show="showAddress" :list="addressList" @close="showAddress=false"
|
||||
@change="changeAddress" />
|
||||
<shopListPopupVue v-if="merchantList.length>0" :show="shopListShow" :list="merchantList"
|
||||
@close="shopListShow=false" @change="changeShop" @search="searchShop" />
|
||||
<modal title="尚未设置收货地址" content="您还没有添加收货地址,请点击添加" cancleText="添加地址" confirmText="继续支付" :show="toastAddressShow"
|
||||
@close="addAddress" @change="goPay" />
|
||||
</view>
|
||||
<addressPopup v-if="addressList.length>0" :show="showAddress" :list="addressList" @close="showAddress=false" @change="changeAddress" />
|
||||
<shopListPopupVue v-if="merchantList.length>0" :show="shopListShow" :list="merchantList" @close="shopListShow=false" @change="changeShop" @search="searchShop" />
|
||||
<modal title="尚未设置收货地址" content="您还没有添加收货地址,请点击添加" cancleText="添加地址" confirmText="继续支付" :show="toastAddressShow"
|
||||
@close="addAddress" @change="goPay" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {
|
||||
onLoad,
|
||||
onShow
|
||||
} from "@dcloudio/uni-app"
|
||||
import {
|
||||
nextTick,
|
||||
ref
|
||||
} from "vue"
|
||||
import addressPopup from "@/components/addressPopup.vue";
|
||||
import shopListPopupVue from "@/components/shopListPopup.vue";
|
||||
import modal from "@/components/modal.vue"
|
||||
import useCartStore from "@/store/cart.js";
|
||||
import {
|
||||
checkOrderApi
|
||||
} from "@/api/cart.js";
|
||||
import {
|
||||
addressListsApi,
|
||||
merchantListApi
|
||||
} from "@/api/user.js";
|
||||
import {
|
||||
createOrderApi
|
||||
} from "@/api/order.js";
|
||||
import { onLoad, onShow } from "@dcloudio/uni-app"
|
||||
import { nextTick, ref } from "vue"
|
||||
import addressPopup from "@/components/addressPopup.vue";
|
||||
import shopListPopupVue from "@/components/shopListPopup.vue";
|
||||
import modal from "@/components/modal.vue"
|
||||
import useCartStore from "@/store/cart.js";
|
||||
import { checkOrderApi } from "@/api/cart.js";
|
||||
import { addressListsApi, merchantListApi } from "@/api/user.js";
|
||||
import { createOrderApi } from "@/api/order.js";
|
||||
|
||||
const cartStore = useCartStore();
|
||||
const cartStore = useCartStore();
|
||||
|
||||
const formData = ref({
|
||||
remark: ""
|
||||
})
|
||||
const formData = ref({
|
||||
remark: ""
|
||||
})
|
||||
|
||||
const isAddress = ref(false);
|
||||
const toastAddressShow = ref(false);
|
||||
const isAddress = ref(false);
|
||||
const toastAddressShow = ref(false);
|
||||
|
||||
|
||||
// 地址相关
|
||||
const addressList = ref([]);
|
||||
const getAddressList = () => {
|
||||
addressListsApi().then(res => {
|
||||
addressList.value = res.data.lists;
|
||||
addressList.value.forEach(item => {
|
||||
if (item.is_default) {
|
||||
addressInfo.value = item;
|
||||
isAddress.value = true;
|
||||
}
|
||||
})
|
||||
if (!isAddress.value && addressList.value.length > 0) {
|
||||
addressInfo.value = addressList.value[0];
|
||||
isAddress.value = true;
|
||||
}
|
||||
})
|
||||
}
|
||||
// 选择地址
|
||||
const showAddress = ref(false);
|
||||
const addressInfo = ref({});
|
||||
const changeAddress = (e) => {
|
||||
addressInfo.value = e;
|
||||
showAddress.value = false;
|
||||
isAddress.value = true;
|
||||
}
|
||||
const openAddress = () => {
|
||||
if (addressList.length > 0) showAddress.value = true;
|
||||
else uni.navigateTo({
|
||||
url: '/pagesOrder/addressEdit/addressEdit'
|
||||
})
|
||||
}
|
||||
// 地址相关
|
||||
const addressList = ref([]);
|
||||
const getAddressList = ()=>{
|
||||
addressListsApi().then(res=>{
|
||||
addressList.value = res.data.lists;
|
||||
addressList.value.forEach(item=>{
|
||||
if(item.is_default) {
|
||||
addressInfo.value = item;
|
||||
isAddress.value = true;
|
||||
}
|
||||
})
|
||||
if(!isAddress.value && addressList.value.length>0){
|
||||
addressInfo.value = addressList.value[0];
|
||||
isAddress.value = true;
|
||||
}
|
||||
})
|
||||
}
|
||||
// 选择地址
|
||||
const showAddress = ref(false);
|
||||
const addressInfo = ref({});
|
||||
const changeAddress = (e) => {
|
||||
addressInfo.value = e;
|
||||
showAddress.value = false;
|
||||
isAddress.value = true;
|
||||
}
|
||||
const openAddress = ()=>{
|
||||
if(addressList.length>0) showAddress.value=true;
|
||||
else uni.navigateTo({
|
||||
url: '/pagesOrder/addressEdit/addressEdit'
|
||||
})
|
||||
}
|
||||
|
||||
// 提货点相关
|
||||
const shopListShow = ref(false);
|
||||
const merchantList = ref([]);
|
||||
const myAddressInfo = ref({
|
||||
long: "",
|
||||
lat: ""
|
||||
})
|
||||
const shopInfo = ref({
|
||||
mer_id: ''
|
||||
});
|
||||
const getMerchantList = (mer_name = null) => {
|
||||
merchantListApi({
|
||||
...myAddressInfo.value,
|
||||
mer_name: mer_name ? mer_name : ''
|
||||
}).then(res => {
|
||||
merchantList.value = res.data.lists;
|
||||
if (mer_name === null && myAddressInfo.value.long && merchantList.value.length > 0 && !shopInfo
|
||||
.value.mer_id) {
|
||||
shopInfo.value = merchantList.value[0];
|
||||
}
|
||||
})
|
||||
}
|
||||
getMerchantList('');
|
||||
// 定位
|
||||
const LoadAddress = () => {
|
||||
uni.getLocation({
|
||||
success: (res) => {},
|
||||
fail: (err) => {
|
||||
uni.$u.toast('定位失败, 请手动选择提货点!')
|
||||
},
|
||||
complete: (res) => {
|
||||
console.log("===", res);
|
||||
myAddressInfo.value.long = res.longitude || "";
|
||||
myAddressInfo.value.lat = res.latitude || "";
|
||||
getMerchantList();
|
||||
}
|
||||
})
|
||||
}
|
||||
LoadAddress();
|
||||
const changeShop = (e) => {
|
||||
shopInfo.value = e;
|
||||
shopListShow.value = false;
|
||||
}
|
||||
const searchShop = (e) => {
|
||||
getMerchantList(e)
|
||||
}
|
||||
// 提货点相关
|
||||
const shopListShow = ref(false);
|
||||
const merchantList = ref([]);
|
||||
const myAddressInfo = ref({
|
||||
long: "",
|
||||
lat: ""
|
||||
})
|
||||
const shopInfo = ref({
|
||||
mer_id: ''
|
||||
});
|
||||
const getMerchantList = (mer_name=null)=>{
|
||||
merchantListApi({
|
||||
...myAddressInfo.value,
|
||||
mer_name: mer_name ? mer_name : ''
|
||||
}).then(res=>{
|
||||
merchantList.value = res.data.lists;
|
||||
if(mer_name===null && myAddressInfo.value.long && merchantList.value.length>0 && !shopInfo.value.mer_id) {
|
||||
shopInfo.value = merchantList.value[0];
|
||||
}
|
||||
})
|
||||
}
|
||||
getMerchantList('');
|
||||
// 定位
|
||||
const LoadAddress = ()=>{
|
||||
uni.getLocation({
|
||||
success: (res) => {
|
||||
},
|
||||
fail: (err) => {
|
||||
uni.$u.toast('定位失败, 请手动选择提货点!')
|
||||
},
|
||||
complete: (res) => {
|
||||
console.log("===", res);
|
||||
myAddressInfo.value.long = res.longitude || "";
|
||||
myAddressInfo.value.lat = res.latitude || "";
|
||||
getMerchantList();
|
||||
}
|
||||
})
|
||||
}
|
||||
LoadAddress();
|
||||
const changeShop = (e)=>{
|
||||
shopInfo.value = e;
|
||||
shopListShow.value = false;
|
||||
}
|
||||
const searchShop = (e)=>{
|
||||
getMerchantList(e)
|
||||
}
|
||||
|
||||
// 选择地址
|
||||
const addAddress = () => {
|
||||
toastAddressShow.value = false;
|
||||
nextTick(() => {
|
||||
showAddress.value = true;
|
||||
})
|
||||
}
|
||||
// 继续支付
|
||||
const goPay = () => {
|
||||
toastAddressShow.value = false;
|
||||
isAddress.value = true;
|
||||
submitOrder();
|
||||
}
|
||||
// 选择地址
|
||||
const addAddress = () => {
|
||||
toastAddressShow.value = false;
|
||||
nextTick(()=>{
|
||||
showAddress.value = true;
|
||||
})
|
||||
}
|
||||
// 继续支付
|
||||
const goPay = ()=>{
|
||||
toastAddressShow.value = false;
|
||||
isAddress.value = true;
|
||||
submitOrder();
|
||||
}
|
||||
|
||||
// 提交订单
|
||||
const submitOrder = () => {
|
||||
|
@ -287,11 +261,11 @@
|
|||
}).then(res=>{
|
||||
uni.requestPayment({
|
||||
provider: 'wxpay',
|
||||
timeStamp: res.data.timeStamp,
|
||||
nonceStr: res.data.nonceStr,
|
||||
package: res.data.package,
|
||||
signType: res.data.signType,
|
||||
paySign: res.data.paySign,
|
||||
timeStamp: res.data.config.timeStamp,
|
||||
nonceStr: res.data.config.nonceStr,
|
||||
package: res.data.config.package,
|
||||
signType: res.data.config.signType,
|
||||
paySign: res.data.config.paySign,
|
||||
success: (e) => {
|
||||
if(e.errMsg == 'requestPayment:ok'){
|
||||
uni.showModal({
|
||||
|
@ -339,150 +313,148 @@
|
|||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.m-card {
|
||||
margin: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
background-color: #fff;
|
||||
padding: 20rpx;
|
||||
}
|
||||
.m-card {
|
||||
margin: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
background-color: #fff;
|
||||
padding: 20rpx;
|
||||
}
|
||||
|
||||
.row {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.row {
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.m-address {
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #999999;
|
||||
.m-address {
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #999999;
|
||||
|
||||
.address-info {
|
||||
width: 510rpx;
|
||||
.address-info {
|
||||
width: 510rpx;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
font-size: 28rpx;
|
||||
margin-bottom: 10;
|
||||
.top {
|
||||
display: flex;
|
||||
font-size: 28rpx;
|
||||
|
||||
.t-name {
|
||||
color: #444;
|
||||
margin: 0 10rpx;
|
||||
margin-right: 40rpx;
|
||||
}
|
||||
}
|
||||
.t-name {
|
||||
color: #444;
|
||||
margin: 0 10rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.bottom {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.bottom {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.m-good {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
.m-good {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.image {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.image {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.body-content {
|
||||
width: 490rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
color: #989898;
|
||||
.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;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
.time {
|
||||
background-color: #F6F6F6;
|
||||
padding: 5rpx 10rpx;
|
||||
font-size: 26rpx;
|
||||
color: #444;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.good-info {
|
||||
margin-bottom: 20rpx;
|
||||
.good-info {
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
.head-title {
|
||||
margin-bottom: 18rpx;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
.head-title {
|
||||
margin-bottom: 18rpx;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 18rpx;
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 18rpx;
|
||||
|
||||
.red {
|
||||
color: #F55726;
|
||||
}
|
||||
.red {
|
||||
color: #F55726;
|
||||
}
|
||||
|
||||
.icon-text {
|
||||
display: flex;
|
||||
}
|
||||
.icon-text {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.icon {
|
||||
image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
.icon {
|
||||
image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.row-need {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
color: #F55726;
|
||||
}
|
||||
.row-need {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
color: #F55726;
|
||||
}
|
||||
|
||||
text {
|
||||
font-size: 22rpx;
|
||||
}
|
||||
}
|
||||
text {
|
||||
font-size: 22rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.order-remark {
|
||||
.head-title {
|
||||
margin-bottom: 18rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
.order-remark {
|
||||
.head-title {
|
||||
margin-bottom: 18rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
|
||||
.tips {
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
margin-right: 20rpx;
|
||||
.tips {
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
margin-right: 20rpx;
|
||||
|
||||
.all {
|
||||
color: #F55726;
|
||||
}
|
||||
}
|
||||
.all {
|
||||
color: #F55726;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -1,30 +1,26 @@
|
|||
// 导入定义仓库的方法
|
||||
import {
|
||||
defineStore
|
||||
} from 'pinia';
|
||||
import { defineStore } from 'pinia';
|
||||
// 导入响应式和计算
|
||||
import {
|
||||
ref
|
||||
} from 'vue';
|
||||
import { ref } from 'vue';
|
||||
|
||||
const useUserStore = defineStore("user", () => {
|
||||
|
||||
// 定义一个状态用户信息
|
||||
const userInfo = ref(uni.getStorageSync('userInfo') || {});
|
||||
// 定义一个设置状态的方法
|
||||
const setUserInfo = (data) => {
|
||||
userInfo.value = data;
|
||||
uni.setStorageSync('userInfo', data)
|
||||
}
|
||||
// 定义一个状态用户信息
|
||||
const userInfo = ref(uni.getStorageSync('userInfo') || {});
|
||||
// 定义一个设置状态的方法
|
||||
const setUserInfo = (data) => {
|
||||
userInfo.value = data;
|
||||
uni.setStorageSync('userInfo', data)
|
||||
}
|
||||
|
||||
const token = ref(uni.getStorageSync('token') || '');
|
||||
const setToken = (data) => {
|
||||
token.value = data;
|
||||
uni.setStorageSync('token', data)
|
||||
}
|
||||
const token = ref(uni.getStorageSync('token') || '');
|
||||
const setToken = (data) => {
|
||||
token.value = data;
|
||||
uni.setStorageSync('token', data)
|
||||
}
|
||||
|
||||
// #ifdef H5
|
||||
token.value = "31f74a72e2d05673ec14d2a6408718ef"
|
||||
token.value = "aba1d819e38fa087f52a6ddfd1b61f30"
|
||||
userInfo.value = {
|
||||
avatar: "https://lihaiim.oss-cn-chengdu.aliyuncs.com/image/admin/default_avatar.png",
|
||||
id: 9,
|
||||
|
@ -37,12 +33,7 @@ const useUserStore = defineStore("user", () => {
|
|||
}
|
||||
// #endif
|
||||
|
||||
return {
|
||||
userInfo,
|
||||
setUserInfo,
|
||||
token,
|
||||
setToken
|
||||
}
|
||||
return { userInfo, setUserInfo, token, setToken }
|
||||
})
|
||||
|
||||
export default useUserStore;
|
|
@ -0,0 +1,154 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
||||
const common_vendor = require("./common/vendor.js");
|
||||
const uni_modules_uviewPlus_index = require("./uni_modules/uview-plus/index.js");
|
||||
require("./uni_modules/uview-plus/libs/mixin/mixin.js");
|
||||
require("./uni_modules/uview-plus/libs/function/index.js");
|
||||
require("./uni_modules/uview-plus/libs/function/test.js");
|
||||
require("./uni_modules/uview-plus/libs/function/digit.js");
|
||||
require("./uni_modules/uview-plus/libs/config/config.js");
|
||||
require("./uni_modules/uview-plus/libs/util/route.js");
|
||||
require("./uni_modules/uview-plus/libs/mixin/mpMixin.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/Request.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/dispatchRequest.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/adapters/index.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/helpers/buildURL.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/utils.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/buildFullPath.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/helpers/isAbsoluteURL.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/helpers/combineURLs.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/settle.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/InterceptorManager.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/mergeConfig.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/core/defaults.js");
|
||||
require("./uni_modules/uview-plus/libs/luch-request/utils/clone.js");
|
||||
require("./uni_modules/uview-plus/libs/function/colorGradient.js");
|
||||
require("./uni_modules/uview-plus/libs/function/debounce.js");
|
||||
require("./uni_modules/uview-plus/libs/function/throttle.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/actionSheet.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/album.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/alert.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/avatar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/avatarGroup.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/backtop.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/badge.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/button.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/calendar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/carKeyboard.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/cell.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/cellGroup.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/checkbox.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/checkboxGroup.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/circleProgress.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/code.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/codeInput.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/col.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/collapse.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/collapseItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/columnNotice.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/countDown.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/countTo.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/datetimePicker.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/divider.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/empty.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/form.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/formItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/gap.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/grid.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/gridItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/icon.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/image.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/indexAnchor.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/indexList.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/input.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/keyboard.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/line.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/lineProgress.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/link.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/list.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/listItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/loadingIcon.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/loadingPage.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/loadmore.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/modal.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/navbar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/color.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/noNetwork.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/noticeBar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/notify.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/numberBox.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/numberKeyboard.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/overlay.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/parse.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/picker.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/popup.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/radio.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/radioGroup.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/rate.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/readMore.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/row.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/rowNotice.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/scrollList.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/search.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/section.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/skeleton.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/slider.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/statusBar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/steps.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/stepsItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/sticky.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/subsection.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/swipeAction.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/swipeActionItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/swiper.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/swipterIndicator.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/switch.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/tabbar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/tabbarItem.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/tabs.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/tag.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/text.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/textarea.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/toast.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/toolbar.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/tooltip.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/transition.js");
|
||||
require("./uni_modules/uview-plus/libs/config/props/upload.js");
|
||||
require("./uni_modules/uview-plus/libs/config/zIndex.js");
|
||||
require("./uni_modules/uview-plus/libs/function/platform.js");
|
||||
if (!Math) {
|
||||
"./pages/login/login.js";
|
||||
"./pages/index/index.js";
|
||||
"./pages/cart/cart.js";
|
||||
"./pages/my/my.js";
|
||||
"./pagesOrder/order/order.js";
|
||||
"./pagesOrder/detail/detail.js";
|
||||
"./pagesOrder/addressList/addressList.js";
|
||||
"./pagesOrder/addressEdit/addressEdit.js";
|
||||
"./pagesOrder/settle/settle.js";
|
||||
}
|
||||
const _sfc_main = {
|
||||
onLaunch: function() {
|
||||
console.log("App Launch");
|
||||
},
|
||||
onShow: function() {
|
||||
console.log("App Show");
|
||||
},
|
||||
onHide: function() {
|
||||
console.log("App Hide");
|
||||
}
|
||||
};
|
||||
const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/App.vue"]]);
|
||||
function createApp() {
|
||||
const app = common_vendor.createSSRApp(App);
|
||||
app.use(common_vendor.createPinia());
|
||||
app.use(uni_modules_uviewPlus_index.uviewPlus);
|
||||
return {
|
||||
app,
|
||||
Pinia: common_vendor.Pinia
|
||||
// 此处必须将 Pinia 返回
|
||||
};
|
||||
}
|
||||
createApp().app.mount("#app");
|
||||
exports.createApp = createApp;
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"pages": [
|
||||
"pages/login/login",
|
||||
"pages/index/index",
|
||||
"pages/cart/cart",
|
||||
"pages/my/my"
|
||||
],
|
||||
"subPackages": [
|
||||
{
|
||||
"root": "pagesOrder",
|
||||
"pages": [
|
||||
"order/order",
|
||||
"detail/detail",
|
||||
"addressList/addressList",
|
||||
"addressEdit/addressEdit",
|
||||
"settle/settle"
|
||||
]
|
||||
}
|
||||
],
|
||||
"window": {
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"backgroundColor": "#fff"
|
||||
},
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
"desc": "你的位置信息将用于查找最近的提货点"
|
||||
}
|
||||
},
|
||||
"requiredPrivateInfos": [
|
||||
"chooseLocation",
|
||||
"getLocation"
|
||||
],
|
||||
"usingComponents": {}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
"use strict";
|
||||
const _imports_1$1 = "/static/icon/n-check.png";
|
||||
const _imports_0$1 = "/static/icon/check.png";
|
||||
const _imports_0 = "/static/tab/ba.png";
|
||||
const _imports_1 = "/static/tab/ca.png";
|
||||
const _imports_2 = "/static/icon/cart.png";
|
||||
exports._imports_0 = _imports_0$1;
|
||||
exports._imports_0$1 = _imports_0;
|
||||
exports._imports_1 = _imports_1$1;
|
||||
exports._imports_1$1 = _imports_1;
|
||||
exports._imports_2 = _imports_2;
|
|
@ -0,0 +1,99 @@
|
|||
"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
|
||||
},
|
||||
list: {
|
||||
type: Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
emits: ["close", "change"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
const addressType = common_vendor.ref(-1);
|
||||
const props = __props;
|
||||
const emit = __emit;
|
||||
const close = () => {
|
||||
emit("close");
|
||||
};
|
||||
const submitAddress = () => {
|
||||
emit("change", props.list[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(__props.list, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(item.real_name),
|
||||
b: common_vendor.t(item.phone),
|
||||
c: item.is_default
|
||||
}, item.is_default ? {
|
||||
d: "dc6b9753-3-" + i0 + ",dc6b9753-0",
|
||||
e: common_vendor.p({
|
||||
text: "默认",
|
||||
type: "success",
|
||||
plain: true,
|
||||
size: "mini"
|
||||
})
|
||||
} : {}, {
|
||||
f: common_vendor.t(item.detail),
|
||||
g: addressType.value == index
|
||||
}, addressType.value == index ? {
|
||||
h: common_assets._imports_0
|
||||
} : {
|
||||
i: common_assets._imports_1
|
||||
}, {
|
||||
j: index,
|
||||
k: common_vendor.o(($event) => addressType.value = index, index)
|
||||
});
|
||||
}),
|
||||
f: common_vendor.o(submitAddress),
|
||||
g: common_vendor.p({
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
}),
|
||||
h: common_vendor.o(close),
|
||||
i: 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);
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<up-popup wx:if="{{i}}" class="data-v-dc6b9753" u-s="{{['d']}}" bindclose="{{h}}" u-i="dc6b9753-0" bind:__l="__l" u-p="{{i}}"><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="j" class="row data-v-dc6b9753" bindtap="{{item.k}}"><view class="content data-v-dc6b9753"><view class="top data-v-dc6b9753"><view class="name data-v-dc6b9753">{{item.a}}</view><view class="phone data-v-dc6b9753">{{item.b}}</view><u-tag wx:if="{{item.c}}" class="data-v-dc6b9753" style="pointer-events:none" u-i="{{item.d}}" bind:__l="__l" u-p="{{item.e}}"></u-tag></view><view class="bottom u-line-2 data-v-dc6b9753">{{item.f}}</view></view><image wx:if="{{item.g}}" class="data-v-dc6b9753" src="{{item.h}}"></image><image wx:else class="data-v-dc6b9753" src="{{item.i}}"></image></view></scroll-view><up-button wx:if="{{g}}" class="data-v-dc6b9753" u-s="{{['d']}}" bindclick="{{f}}" u-i="dc6b9753-4,dc6b9753-0" bind:__l="__l" u-p="{{g}}">确认</up-button></view></up-popup>
|
|
@ -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 #f6f6f6;
|
||||
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);
|
||||
/* 缩小 */
|
||||
}
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
"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",
|
||||
safeAreaInsetBottom: false
|
||||
})
|
||||
};
|
||||
};
|
||||
}
|
||||
};
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b2596e17"], ["__file", "D:/里海数字乡村/purchase-let/components/modal.vue"]]);
|
||||
wx.createComponent(Component);
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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="m-modal-popup data-v-b2596e17"><view class="head-title-modal data-v-b2596e17">{{a}}</view><view class="content-modal data-v-b2596e17">{{b}}</view><view class="btn-box-modal 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>
|
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.m-modal-popup.data-v-b2596e17 {
|
||||
width: 500rpx;
|
||||
padding: 40rpx;
|
||||
}
|
||||
.m-modal-popup .head-title-modal.data-v-b2596e17 {
|
||||
font-size: 32rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.m-modal-popup .content-modal.data-v-b2596e17 {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
padding: 40rpx 0;
|
||||
}
|
||||
.m-modal-popup .btn-box-modal.data-v-b2596e17 {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../common/vendor.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
|
||||
_easycom_up_icon2();
|
||||
}
|
||||
const _easycom_up_icon = () => "../uni_modules/uview-plus/components/u-icon/u-icon.js";
|
||||
if (!Math) {
|
||||
_easycom_up_icon();
|
||||
}
|
||||
const _sfc_main = {
|
||||
__name: "viewPopup",
|
||||
props: {
|
||||
nav: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
emits: ["close", "click"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
const emit = __emit;
|
||||
const close = () => {
|
||||
emit("close");
|
||||
};
|
||||
const height = common_vendor.ref(0);
|
||||
common_vendor.index.getSystemInfo({
|
||||
success: (res) => {
|
||||
const statusBarHeight = res.statusBarHeight || 0;
|
||||
const menuButtonInfo = common_vendor.index.getMenuButtonBoundingClientRect();
|
||||
const navBarHeight = menuButtonInfo.height + (menuButtonInfo.top - statusBarHeight) * 2;
|
||||
const topIconDistance = statusBarHeight + navBarHeight;
|
||||
console.log("顶部图标距离:", topIconDistance);
|
||||
height.value = topIconDistance;
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error("获取系统信息失败:", err);
|
||||
}
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: __props.nav
|
||||
}, __props.nav ? {
|
||||
b: height.value + "px"
|
||||
} : {}, {
|
||||
c: common_vendor.p({
|
||||
name: "arrow-up"
|
||||
}),
|
||||
d: common_vendor.o(close)
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-9faf4b3c"], ["__file", "D:/里海数字乡村/purchase-let/components/viewPopup.vue"]]);
|
||||
wx.createComponent(Component);
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"up-icon": "../uni_modules/uview-plus/components/u-icon/u-icon"
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.view-popup.data-v-9faf4b3c {
|
||||
height: 100vh;
|
||||
width: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
}
|
||||
.view-popup .center.data-v-9faf4b3c {
|
||||
animation: slideDown-9faf4b3c 0.3s forwards;
|
||||
}
|
||||
.view-popup .up.data-v-9faf4b3c {
|
||||
width: 100%;
|
||||
height: 80rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 0 0 28rpx 28rpx;
|
||||
border-top: 1rpx solid #f6f6f6;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
@keyframes slideDown-9faf4b3c {
|
||||
from {
|
||||
transform: translateY(-100%);
|
||||
/* 初始状态:向上偏移100% */
|
||||
}
|
||||
to {
|
||||
transform: translateY(0);
|
||||
/* 最终状态:无偏移 */
|
||||
}
|
||||
}
|
|
@ -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;
|
|
@ -0,0 +1,279 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const api_cart = require("../../api/cart.js");
|
||||
const store_cart = require("../../store/cart.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
require("../../store/user.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_navbar2 = common_vendor.resolveComponent("up-navbar");
|
||||
const _easycom_u__icon2 = common_vendor.resolveComponent("u--icon");
|
||||
const _easycom_up_empty2 = common_vendor.resolveComponent("up-empty");
|
||||
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
|
||||
const _easycom_up_transition2 = common_vendor.resolveComponent("up-transition");
|
||||
(_easycom_up_navbar2 + _easycom_u__icon2 + _easycom_up_empty2 + _easycom_up_button2 + _easycom_up_transition2)();
|
||||
}
|
||||
const _easycom_up_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
|
||||
const _easycom_u__icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
|
||||
const _easycom_up_empty = () => "../../uni_modules/uview-plus/components/u-empty/u-empty.js";
|
||||
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
|
||||
const _easycom_up_transition = () => "../../uni_modules/uview-plus/components/u-transition/u-transition.js";
|
||||
if (!Math) {
|
||||
(_easycom_up_navbar + _easycom_u__icon + _easycom_up_empty + _easycom_up_button + _easycom_up_transition + goodPopup)();
|
||||
}
|
||||
const goodPopup = () => "../../components/goodPopup.js";
|
||||
const _sfc_main = {
|
||||
__name: "cart",
|
||||
setup(__props) {
|
||||
const cartStore = store_cart.useCartStore();
|
||||
const list = common_vendor.ref(["购物车", "常买"]);
|
||||
const tabsActive = common_vendor.ref(0);
|
||||
const changeTab = (e) => {
|
||||
tabsActive.value = e;
|
||||
swiperCurrent.value = e;
|
||||
};
|
||||
const swiperCurrent = common_vendor.ref(0);
|
||||
const animationfinish = ({ detail: { current } }) => {
|
||||
swiperCurrent.value = current;
|
||||
tabsActive.value = current;
|
||||
};
|
||||
const settleAccounts = () => {
|
||||
let list2 = [];
|
||||
cartList.value.forEach((item) => {
|
||||
if (item.check)
|
||||
list2.push(item.cart_id);
|
||||
});
|
||||
cartStore.setCartList(list2);
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pagesOrder/settle/settle"
|
||||
});
|
||||
};
|
||||
const deleteCartList = () => {
|
||||
let list2 = [];
|
||||
cartList.value.forEach((item) => {
|
||||
if (item.check)
|
||||
list2.push(item.cart_id);
|
||||
});
|
||||
api_cart.cartDeleteApi({
|
||||
cart_id: list2
|
||||
}).then(() => {
|
||||
getcartList(false);
|
||||
});
|
||||
};
|
||||
const addCart = (id, cart_num) => {
|
||||
api_cart.cartCreateApi({
|
||||
cart_num: +cart_num,
|
||||
goods_id: id
|
||||
}).then((res) => {
|
||||
getcartList();
|
||||
});
|
||||
};
|
||||
const isAdmin = common_vendor.ref(false);
|
||||
const showGoodPopup = common_vendor.ref(false);
|
||||
const goodRef = common_vendor.ref(null);
|
||||
const goodData = common_vendor.ref({});
|
||||
const openGoodPopup = (item) => {
|
||||
goodData.value = JSON.parse(JSON.stringify(item));
|
||||
goodRef.value.setData(goodData.value);
|
||||
showGoodPopup.value = true;
|
||||
};
|
||||
const changeGood = (data) => {
|
||||
showGoodPopup.value = false;
|
||||
addCart(data.goods_id || data.id, data.cart_num);
|
||||
};
|
||||
const cartList = common_vendor.ref([]);
|
||||
const cartInfo = common_vendor.ref({});
|
||||
const getcartList = (check = true) => {
|
||||
api_cart.cartListApi().then((res) => {
|
||||
var _a, _b, _c;
|
||||
if (check) {
|
||||
res.data.lists = res.data.lists.map((item) => {
|
||||
item.check = true;
|
||||
return item;
|
||||
});
|
||||
checkAll.value = ((_a = res.data) == null ? void 0 : _a.count) || 0;
|
||||
} else {
|
||||
checkAll.value = 0;
|
||||
}
|
||||
cartList.value = res.data.lists;
|
||||
cartInfo.value = {
|
||||
total_price: ((_b = res.data) == null ? void 0 : _b.extend.total_price) || "0.00",
|
||||
count: ((_c = res.data) == null ? void 0 : _c.count) || 0
|
||||
};
|
||||
});
|
||||
};
|
||||
const c_price0 = common_vendor.computed(() => {
|
||||
let price = cartInfo.value.total_price + "";
|
||||
return price.split(".")[0] || "0";
|
||||
});
|
||||
const c_price1 = common_vendor.computed(() => {
|
||||
let price = cartInfo.value.total_price + "";
|
||||
return price.split(".")[1] || "00";
|
||||
});
|
||||
let checkAll = common_vendor.ref(0);
|
||||
const checkItem = (item, type) => {
|
||||
item.check = type;
|
||||
let price = Number(cartInfo.value.total_price);
|
||||
if (type) {
|
||||
price += item.sell * item.cart_num;
|
||||
checkAll.value++;
|
||||
} else {
|
||||
price -= item.sell * item.cart_num;
|
||||
checkAll.value--;
|
||||
}
|
||||
cartInfo.value.total_price = price.toFixed(2);
|
||||
};
|
||||
const changeAll = (flag = false) => {
|
||||
cartList.value.forEach((item) => {
|
||||
item.check = !flag;
|
||||
});
|
||||
if (!flag)
|
||||
checkAll.value = cartInfo.value.count;
|
||||
else
|
||||
checkAll.value = 0;
|
||||
};
|
||||
const frequentlyList = common_vendor.ref([]);
|
||||
const where = common_vendor.ref({
|
||||
page_no: 1,
|
||||
page_size: 25
|
||||
});
|
||||
const getFrequentlyPurchase = () => {
|
||||
api_cart.frequentlyPurchaseApi({
|
||||
...where.value
|
||||
}).then((res) => {
|
||||
frequentlyList.value = res.data;
|
||||
});
|
||||
};
|
||||
getFrequentlyPurchase();
|
||||
common_vendor.onShow(() => {
|
||||
getcartList();
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.f(list.value, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item),
|
||||
b: tabsActive.value == index ? 1 : "",
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => changeTab(index), index)
|
||||
};
|
||||
}),
|
||||
b: common_vendor.p({
|
||||
placeholder: true,
|
||||
autoBack: true
|
||||
}),
|
||||
c: common_vendor.t(cartList.value.length),
|
||||
d: !isAdmin.value
|
||||
}, !isAdmin.value ? {
|
||||
e: common_vendor.o(($event) => {
|
||||
isAdmin.value = true;
|
||||
})
|
||||
} : {
|
||||
f: common_vendor.o(($event) => {
|
||||
isAdmin.value = false;
|
||||
})
|
||||
}, {
|
||||
g: cartList.value.length > 0
|
||||
}, cartList.value.length > 0 ? {
|
||||
h: common_vendor.f(cartList.value, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: !item.check
|
||||
}, !item.check ? {
|
||||
b: common_assets._imports_1
|
||||
} : {
|
||||
c: common_assets._imports_0
|
||||
}, {
|
||||
d: common_vendor.o(($event) => checkItem(item, !item.check), index),
|
||||
e: item.imgs,
|
||||
f: common_vendor.t(item.goods_name),
|
||||
g: common_vendor.t(item.unit_name),
|
||||
h: common_vendor.t(item.sell),
|
||||
i: common_vendor.t(item.cart_num),
|
||||
j: "da603134-1-" + i0,
|
||||
k: index,
|
||||
l: common_vendor.o(($event) => openGoodPopup(item), index)
|
||||
});
|
||||
}),
|
||||
i: common_vendor.p({
|
||||
name: "plus-circle-fill",
|
||||
size: "20",
|
||||
color: "#20b128"
|
||||
})
|
||||
} : {
|
||||
j: common_vendor.p({
|
||||
text: "购物车空空如也",
|
||||
icon: "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/29955202404260944367594.png"
|
||||
})
|
||||
}, {
|
||||
k: common_vendor.f(frequentlyList.value, (item, index, i0) => {
|
||||
return {
|
||||
a: item.imgs,
|
||||
b: common_vendor.t(item.name),
|
||||
c: common_vendor.t(item.unit_name),
|
||||
d: common_vendor.t(item.sell),
|
||||
e: "da603134-3-" + i0,
|
||||
f: index,
|
||||
g: common_vendor.o(($event) => openGoodPopup(item), index)
|
||||
};
|
||||
}),
|
||||
l: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#20b128",
|
||||
shape: "circle"
|
||||
})
|
||||
}, {
|
||||
n: swiperCurrent.value,
|
||||
o: common_vendor.o(animationfinish),
|
||||
p: common_vendor.unref(checkAll) != cartInfo.value.count
|
||||
}, common_vendor.unref(checkAll) != cartInfo.value.count ? {
|
||||
q: common_assets._imports_1
|
||||
} : {
|
||||
r: common_assets._imports_0
|
||||
}, {
|
||||
s: common_vendor.unref(checkAll)
|
||||
}, common_vendor.unref(checkAll) ? {
|
||||
t: common_vendor.t(common_vendor.unref(checkAll))
|
||||
} : {}, {
|
||||
v: common_vendor.o(($event) => changeAll(common_vendor.unref(checkAll) === cartInfo.value.count)),
|
||||
w: !isAdmin.value
|
||||
}, !isAdmin.value ? common_vendor.e({
|
||||
x: common_vendor.t(c_price0.value),
|
||||
y: common_vendor.t(c_price1.value),
|
||||
z: common_vendor.unref(checkAll)
|
||||
}, common_vendor.unref(checkAll) ? {
|
||||
A: common_vendor.t(common_vendor.unref(checkAll))
|
||||
} : {}, {
|
||||
B: common_vendor.o(settleAccounts),
|
||||
C: common_vendor.p({
|
||||
color: "#20b128",
|
||||
shape: "circle",
|
||||
disabled: !common_vendor.unref(checkAll)
|
||||
})
|
||||
}) : {
|
||||
D: common_vendor.o(($event) => deleteCartList()),
|
||||
E: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#989898",
|
||||
shape: "circle"
|
||||
})
|
||||
}, {
|
||||
F: common_vendor.p({
|
||||
show: tabsActive.value == 0
|
||||
}),
|
||||
G: common_vendor.sr(goodRef, "da603134-8", {
|
||||
"k": "goodRef"
|
||||
}),
|
||||
H: common_vendor.o(($event) => showGoodPopup.value = false),
|
||||
I: common_vendor.o(changeGood),
|
||||
J: common_vendor.p({
|
||||
show: showGoodPopup.value
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pages/cart/cart.vue"]]);
|
||||
wx.createPage(MiniProgramPage);
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"navigationBarTitleText": "购物车",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"up-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar",
|
||||
"u--icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
|
||||
"up-empty": "../../uni_modules/uview-plus/components/u-empty/u-empty",
|
||||
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button",
|
||||
"up-transition": "../../uni_modules/uview-plus/components/u-transition/u-transition",
|
||||
"good-popup": "../../components/goodPopup"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view><up-navbar wx:if="{{b}}" u-s="{{['center']}}" u-i="da603134-0" bind:__l="__l" u-p="{{b}}"><view style="display:flex;align-items:center;width:100%;justify-content:flex-start;margin-left:100rpx" slot="center"><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="{{n}}" bindanimationfinish="{{o}}"><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">{{c}}</text>件</view><view wx:if="{{d}}" bindtap="{{e}}">管理</view><view wx:else bindtap="{{f}}">完成</view></view><view wx:if="{{g}}" class="list" style="margin-top:80rpx"><view wx:for="{{h}}" wx:for-item="item" wx:key="k" class="shop-item" bindtap="{{item.l}}"><view class="shop-check" catchtap="{{item.d}}"><image wx:if="{{item.a}}" src="{{item.b}}"></image><image wx:else src="{{item.c}}"></image></view><image class="shop-img" src="{{item.e}}"></image><view class="shop-content"><view class="title"><view class="name u-line-2">{{item.f}}</view><view class="tip u-line-1">{{item.g}}</view></view><view class="price-btn"><view class="price">¥{{item.h}}</view><view class="btn"><view class="num">{{item.i}}</view><u--icon wx:if="{{i}}" u-i="{{item.j}}" bind:__l="__l" u-p="{{i}}"></u--icon></view></view></view></view></view><view wx:else style="margin-top:100rpx"><up-empty wx:if="{{j}}" u-i="da603134-2" 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-box1"><view wx:if="{{true}}" class="list"><view wx:for="{{k}}" wx:for-item="item" wx:key="f" class="shop-item" bindtap="{{item.g}}"><image class="shop-img" src="{{item.a}}"></image><view class="shop-content" style="width:490rpx"><view class="title"><view class="name u-line-2">{{item.b}}</view><view class="tip u-line-1">{{item.c}}</view></view><view class="price-btn"><view class="price">¥{{item.d}}</view><view class="btn"><up-button wx:if="{{l}}" u-s="{{['d']}}" u-i="{{item.e}}" bind:__l="__l" u-p="{{l}}">加入购物车</up-button></view></view></view></view></view><view wx:else style="margin-top:100rpx"><up-empty wx:if="{{m}}" u-i="da603134-4" bind:__l="__l" u-p="{{m}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item></swiper><up-transition wx:if="{{F}}" u-s="{{['d']}}" u-i="da603134-5" bind:__l="__l" u-p="{{F}}"><view class="fiexd-btn-box cart-btn"><view class="cart-check" bindtap="{{v}}"><image wx:if="{{p}}" src="{{q}}"></image><image wx:else src="{{r}}"></image><text style="font-size:24rpx">全选</text><text wx:if="{{s}}" style="font-size:24rpx">({{t}})</text></view><view wx:if="{{w}}" class="btn-boxs"><view class="all-price"><view style="width:80rpx">合计:</view><view class="price"><text style="font-size:24rpx">¥</text><text style="font-size:34rpx">{{x}}</text><text style="font-size:24rpx">.{{y}}</text></view></view><view style="width:200rpx"><up-button wx:if="{{C}}" u-s="{{['d']}}" bindclick="{{B}}" u-i="da603134-6,da603134-5" bind:__l="__l" u-p="{{C}}">去结算<text wx:if="{{z}}">({{A}})</text></up-button></view></view><view wx:else class="btn-boxs"><view style="width:100px"><up-button wx:if="{{E}}" u-s="{{['d']}}" bindclick="{{D}}" u-i="da603134-7,da603134-5" bind:__l="__l" u-p="{{E}}">删除</up-button></view></view></view></up-transition><good-popup wx:if="{{J}}" class="r" u-r="goodRef" bindclose="{{H}}" bindchange="{{I}}" u-i="da603134-8" bind:__l="__l" u-p="{{J}}"/></view>
|
|
@ -0,0 +1,141 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.tabs {
|
||||
color: #444444;
|
||||
font-size: 32rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
.tabs-active {
|
||||
color: #20B128;
|
||||
transition: 300ms;
|
||||
}
|
||||
.swiper-box {
|
||||
flex: 1;
|
||||
height: calc(100vh - var(--window-top));
|
||||
width: 100%;
|
||||
}
|
||||
.swiper-box .swiper-item {
|
||||
height: 100%;
|
||||
}
|
||||
.page-box1 {
|
||||
position: relative;
|
||||
}
|
||||
.page-box1 .total {
|
||||
padding: 0 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
position: fixed;
|
||||
top: var(--window-top);
|
||||
left: 0;
|
||||
right: 0;
|
||||
background-color: #f6f6f6;
|
||||
z-index: 100;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
font-size: 26rpx;
|
||||
color: #444;
|
||||
}
|
||||
.page-box1 .list {
|
||||
margin: 20rpx;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.page-box1 .list .shop-item {
|
||||
padding: 20rpx;
|
||||
border-bottom: 1rpx solid #f6f6f6;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-check {
|
||||
width: 60rpx;
|
||||
height: 160rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-check image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-img {
|
||||
height: 160rpx;
|
||||
width: 160rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content {
|
||||
width: 430rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content .title .name {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content .title .tip {
|
||||
color: #999;
|
||||
font-size: 24rpx;
|
||||
margin: 12rpx 0;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content .price {
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
color: #F55726;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content .price-btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content .price-btn .btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.page-box1 .list .shop-item .shop-content .price-btn .btn .num {
|
||||
width: 60rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.cart-btn .cart-check {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.cart-btn .cart-check image {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
margin: 0 10rpx;
|
||||
}
|
||||
.cart-btn .btn-boxs {
|
||||
display: flex;
|
||||
}
|
||||
.cart-btn .btn-boxs .all-price {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
.cart-btn .btn-boxs .all-price .price {
|
||||
color: #20B128;
|
||||
display: table-cell;
|
||||
vertical-align: bottom;
|
||||
font-weight: bold;
|
||||
}
|
|
@ -0,0 +1,355 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const api_good = require("../../api/good.js");
|
||||
const api_cart = require("../../api/cart.js");
|
||||
const store_cart = require("../../store/cart.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
require("../../store/user.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_navbar2 = common_vendor.resolveComponent("up-navbar");
|
||||
const _easycom_up_search2 = common_vendor.resolveComponent("up-search");
|
||||
const _easycom_up_image2 = common_vendor.resolveComponent("up-image");
|
||||
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
|
||||
const _easycom_u__icon2 = common_vendor.resolveComponent("u--icon");
|
||||
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
|
||||
(_easycom_up_navbar2 + _easycom_up_search2 + _easycom_up_image2 + _easycom_up_icon2 + _easycom_u__icon2 + _easycom_up_button2)();
|
||||
}
|
||||
const _easycom_up_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
|
||||
const _easycom_up_search = () => "../../uni_modules/uview-plus/components/u-search/u-search.js";
|
||||
const _easycom_up_image = () => "../../uni_modules/uview-plus/components/u-image/u-image.js";
|
||||
const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
|
||||
const _easycom_u__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_navbar + _easycom_up_search + _easycom_up_image + _easycom_up_icon + viewPopup + _easycom_u__icon + _easycom_up_button + goodPopup)();
|
||||
}
|
||||
const viewPopup = () => "../../components/viewPopup.js";
|
||||
const goodPopup = () => "../../components/goodPopup.js";
|
||||
const _sfc_main = {
|
||||
__name: "index",
|
||||
setup(__props) {
|
||||
const cartStore = store_cart.useCartStore();
|
||||
const show = common_vendor.ref(0);
|
||||
const topActive = common_vendor.ref(0);
|
||||
const changeOne = (item, index) => {
|
||||
var _a, _b, _c;
|
||||
console.log("选择", item, index);
|
||||
topActive.value = item.id;
|
||||
show.value = 0;
|
||||
goodClassTow.value = (item == null ? void 0 : item.children) || [];
|
||||
goodClassThree.value = ((_a = goodClassTow.value[0]) == null ? void 0 : _a.children) || [];
|
||||
leftActive.value = ((_b = goodClassTow.value[0]) == null ? void 0 : _b.id) || "";
|
||||
rightActive.value = ((_c = goodClassThree.value[0]) == null ? void 0 : _c.id) || "";
|
||||
getGoodList();
|
||||
};
|
||||
const leftActive = common_vendor.ref(0);
|
||||
const changeTwo = (item, index) => {
|
||||
var _a;
|
||||
console.log("选择", item, index);
|
||||
leftActive.value = item.id;
|
||||
show.value = 0;
|
||||
goodClassThree.value = (item == null ? void 0 : item.children) || [];
|
||||
rightActive.value = ((_a = goodClassThree.value[0]) == null ? void 0 : _a.id) || "";
|
||||
getGoodList();
|
||||
};
|
||||
const rightActive = common_vendor.ref(0);
|
||||
const changeThree = (item, index) => {
|
||||
console.log("选择", item, index);
|
||||
rightActive.value = item.id;
|
||||
show.value = 0;
|
||||
getGoodList();
|
||||
};
|
||||
const cartList = common_vendor.reactive(/* @__PURE__ */ new Map());
|
||||
const addCart = (id, cart_num) => {
|
||||
api_cart.cartCreateApi({
|
||||
cart_num,
|
||||
is_new: 0,
|
||||
// 是否直接购买0否1是
|
||||
goods_id: id
|
||||
}).then((res) => {
|
||||
console.log(res);
|
||||
let now = cartList.get(id) || 0;
|
||||
cartList.set(id, now + 1);
|
||||
getCartList();
|
||||
});
|
||||
};
|
||||
const keyword = common_vendor.ref("");
|
||||
const searchKeyword = () => {
|
||||
where.value.name = keyword.value;
|
||||
getGoodList();
|
||||
};
|
||||
const changeOrder = (order) => {
|
||||
console.log("排序", order);
|
||||
where.value.order = order;
|
||||
getGoodList();
|
||||
};
|
||||
const where = common_vendor.ref({
|
||||
page_no: 1,
|
||||
page_size: 25,
|
||||
name: "",
|
||||
order: ""
|
||||
});
|
||||
const loading = common_vendor.ref(true);
|
||||
const goodList = common_vendor.ref([]);
|
||||
const getGoodList = (loadmore = false) => {
|
||||
loading.value = true;
|
||||
let class_id = rightActive.value || leftActive.value || topActive.value || "";
|
||||
let class_all = "";
|
||||
if (rightActive.value == "")
|
||||
class_all = leftActive.value;
|
||||
if (leftActive.value == "")
|
||||
class_all = topActive.value;
|
||||
if (topActive.value == "")
|
||||
class_all = "";
|
||||
if (class_all)
|
||||
class_id = "";
|
||||
if (loadmore)
|
||||
where.value.page_no++;
|
||||
else
|
||||
where.value.page_no = 1;
|
||||
api_good.goodListApi({
|
||||
...where.value,
|
||||
class_all,
|
||||
class: class_id
|
||||
}).then((res) => {
|
||||
if (loadmore)
|
||||
goodList.value.push(...res.data.lists);
|
||||
else
|
||||
goodList.value = res.data.lists;
|
||||
});
|
||||
};
|
||||
const loadMoreGood = () => {
|
||||
console.log("触底了");
|
||||
getGoodList(true);
|
||||
};
|
||||
const goodClassList = common_vendor.ref([]);
|
||||
const goodClassTow = common_vendor.ref([]);
|
||||
const goodClassThree = common_vendor.ref([]);
|
||||
const getgoodClassList = () => {
|
||||
api_good.goodClassListApi().then((res) => {
|
||||
var _a, _b, _c, _d, _e, _f, _g, _h;
|
||||
(_b = (_a = res.data) == null ? void 0 : _a.lists) == null ? void 0 : _b.unshift({
|
||||
id: "",
|
||||
name: "全部",
|
||||
pic: "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png",
|
||||
children: []
|
||||
});
|
||||
res.data.lists = res.data.lists.map((item) => {
|
||||
var _a2;
|
||||
if (!item.children)
|
||||
item.children = [];
|
||||
(_a2 = item.children) == null ? void 0 : _a2.unshift({
|
||||
id: "",
|
||||
pid: item.id,
|
||||
name: "全部"
|
||||
});
|
||||
item.children = item.children.map((t) => {
|
||||
var _a3;
|
||||
if (!t.children)
|
||||
t.children = [];
|
||||
(_a3 = t.children) == null ? void 0 : _a3.unshift({
|
||||
id: "",
|
||||
pid: t.id,
|
||||
name: "全部"
|
||||
});
|
||||
return t;
|
||||
});
|
||||
return item;
|
||||
});
|
||||
goodClassList.value = ((_c = res.data) == null ? void 0 : _c.lists) || [];
|
||||
goodClassTow.value = ((_d = goodClassList.value[0]) == null ? void 0 : _d.children) || [];
|
||||
goodClassThree.value = ((_e = goodClassTow.value[0]) == null ? void 0 : _e.children) || [];
|
||||
topActive.value = (_f = goodClassList.value[0]) == null ? void 0 : _f.id;
|
||||
leftActive.value = (_g = goodClassTow.value[0]) == null ? void 0 : _g.id;
|
||||
rightActive.value = (_h = goodClassThree.value[0]) == null ? void 0 : _h.id;
|
||||
});
|
||||
};
|
||||
const navTo = (url) => {
|
||||
common_vendor.index.navigateTo({
|
||||
url
|
||||
});
|
||||
};
|
||||
const showGoodPopup = common_vendor.ref(false);
|
||||
const goodRef = common_vendor.ref(null);
|
||||
const goodData = common_vendor.ref({});
|
||||
const openGoodPopup = (item) => {
|
||||
goodData.value = item;
|
||||
goodRef.value.setData(item);
|
||||
showGoodPopup.value = true;
|
||||
};
|
||||
const changeGood = (data) => {
|
||||
showGoodPopup.value = false;
|
||||
addCart(data.id, data.cart_num);
|
||||
};
|
||||
const settleAccounts = () => {
|
||||
common_vendor.index.navigateTo({
|
||||
url: "/pagesOrder/settle/settle"
|
||||
});
|
||||
};
|
||||
const cartInfo = common_vendor.ref({
|
||||
total_price: "0.00",
|
||||
count: 0
|
||||
});
|
||||
const getCartList = (res) => {
|
||||
api_cart.cartListApi({
|
||||
page_no: 1,
|
||||
page_size: 100
|
||||
}).then((res2) => {
|
||||
var _a, _b, _c, _d;
|
||||
cartInfo.value = {
|
||||
total_price: ((_b = (_a = res2.data) == null ? void 0 : _a.extend) == null ? void 0 : _b.total_price) || "0.00",
|
||||
count: ((_c = res2.data) == null ? void 0 : _c.count) || 0
|
||||
};
|
||||
cartStore.setCartList((_d = res2.data) == null ? void 0 : _d.lists.map((item) => item.cart_id));
|
||||
});
|
||||
};
|
||||
common_vendor.onLoad(() => {
|
||||
getgoodClassList();
|
||||
getGoodList();
|
||||
});
|
||||
common_vendor.onShow(() => {
|
||||
getCartList();
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.p({
|
||||
placeholder: true
|
||||
}),
|
||||
b: common_vendor.o(searchKeyword),
|
||||
c: common_vendor.o(searchKeyword),
|
||||
d: common_vendor.o(($event) => keyword.value = $event),
|
||||
e: common_vendor.p({
|
||||
placeholder: "请输入商品",
|
||||
showAction: false,
|
||||
modelValue: keyword.value
|
||||
}),
|
||||
f: common_assets._imports_0$1,
|
||||
g: common_vendor.o(($event) => navTo("/pages/cart/cart")),
|
||||
h: common_assets._imports_1$1,
|
||||
i: common_vendor.o(($event) => navTo("/pages/my/my")),
|
||||
j: common_vendor.f(goodClassList.value, (item, index, i0) => {
|
||||
return {
|
||||
a: "1ba6254c-2-" + i0,
|
||||
b: common_vendor.p({
|
||||
height: "100rpx",
|
||||
width: "100rpx",
|
||||
src: item.pic
|
||||
}),
|
||||
c: common_vendor.t(item.name),
|
||||
d: topActive.value === item.id ? 1 : "",
|
||||
e: index,
|
||||
f: common_vendor.o(($event) => changeOne(item, index), index)
|
||||
};
|
||||
}),
|
||||
k: common_vendor.p({
|
||||
name: "list"
|
||||
}),
|
||||
l: common_vendor.o(($event) => show.value = 1),
|
||||
m: show.value === 1
|
||||
}, show.value === 1 ? {
|
||||
n: common_vendor.f(goodClassList.value, (item, index, i0) => {
|
||||
return {
|
||||
a: "1ba6254c-5-" + i0 + ",1ba6254c-4",
|
||||
b: common_vendor.p({
|
||||
height: "100rpx",
|
||||
width: "100rpx",
|
||||
src: item.pic
|
||||
}),
|
||||
c: common_vendor.t(item.name),
|
||||
d: topActive.value === item.id ? 1 : "",
|
||||
e: index,
|
||||
f: common_vendor.o(($event) => changeOne(item, index), index)
|
||||
};
|
||||
}),
|
||||
o: common_vendor.o(($event) => show.value = 0),
|
||||
p: common_vendor.p({
|
||||
nav: true
|
||||
})
|
||||
} : {}, {
|
||||
q: common_vendor.f(goodClassTow.value, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: leftActive.value === item.id ? 1 : "",
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => changeTwo(item, index), index)
|
||||
};
|
||||
}),
|
||||
r: common_vendor.f(goodClassThree.value, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: rightActive.value === item.id ? 1 : "",
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => changeThree(item, index), index)
|
||||
};
|
||||
}),
|
||||
s: common_vendor.p({
|
||||
name: "arrow-down"
|
||||
}),
|
||||
t: common_vendor.o(($event) => show.value = 2),
|
||||
v: where.value.order == "" ? 1 : "",
|
||||
w: common_vendor.o(($event) => changeOrder("")),
|
||||
x: where.value.order == "desc" || where.value.order == "asc" ? 1 : "",
|
||||
y: common_vendor.o(($event) => changeOrder(where.value.order == "asc" ? "desc" : "asc")),
|
||||
z: where.value.order == "sales" ? 1 : "",
|
||||
A: common_vendor.o(($event) => changeOrder("sales")),
|
||||
B: show.value === 2
|
||||
}, show.value === 2 ? {
|
||||
C: common_vendor.f(goodClassThree.value, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.name),
|
||||
b: rightActive.value === item.id ? 1 : "",
|
||||
c: index,
|
||||
d: common_vendor.o(($event) => changeThree(item, index), index)
|
||||
};
|
||||
}),
|
||||
D: common_vendor.o(($event) => show.value = 0)
|
||||
} : {}, {
|
||||
E: common_vendor.f(goodList.value, (item, index, i0) => {
|
||||
return {
|
||||
a: "1ba6254c-8-" + i0,
|
||||
b: common_vendor.p({
|
||||
width: "160rpx",
|
||||
height: "160rpx",
|
||||
src: item.imgs
|
||||
}),
|
||||
c: common_vendor.t(item.name),
|
||||
d: common_vendor.t(item.brand_name),
|
||||
e: common_vendor.t(item.class_name),
|
||||
f: common_vendor.t(item.unit_name),
|
||||
g: common_vendor.t(item.sell),
|
||||
h: "1ba6254c-9-" + i0,
|
||||
i: item.id,
|
||||
j: common_vendor.o(($event) => openGoodPopup(item), item.id)
|
||||
};
|
||||
}),
|
||||
F: common_vendor.p({
|
||||
name: "plus-circle-fill",
|
||||
size: "20",
|
||||
color: "#20b128"
|
||||
}),
|
||||
G: common_vendor.o(loadMoreGood),
|
||||
H: common_vendor.t(cartInfo.value.total_price),
|
||||
I: common_vendor.o(settleAccounts),
|
||||
J: common_vendor.p({
|
||||
color: "#20b128",
|
||||
disabled: cartInfo.value.count == 0
|
||||
}),
|
||||
K: common_assets._imports_2,
|
||||
L: common_vendor.t(cartInfo.value.count),
|
||||
M: common_vendor.o(($event) => navTo("/pages/cart/cart")),
|
||||
N: common_vendor.sr(goodRef, "1ba6254c-11", {
|
||||
"k": "goodRef"
|
||||
}),
|
||||
O: common_vendor.o(($event) => showGoodPopup.value = false),
|
||||
P: common_vendor.o(changeGood),
|
||||
Q: common_vendor.p({
|
||||
show: showGoodPopup.value
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pages/index/index.vue"]]);
|
||||
wx.createPage(MiniProgramPage);
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"navigationBarTitleText": "购物",
|
||||
"disableScroll": true,
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"up-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar",
|
||||
"up-search": "../../uni_modules/uview-plus/components/u-search/u-search",
|
||||
"up-image": "../../uni_modules/uview-plus/components/u-image/u-image",
|
||||
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
|
||||
"u--icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
|
||||
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button",
|
||||
"view-popup": "../../components/viewPopup",
|
||||
"good-popup": "../../components/goodPopup"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view class="content"><up-navbar wx:if="{{a}}" u-s="{{['left']}}" style="z-index:10080" u-i="1ba6254c-0" bind:__l="__l" u-p="{{a}}"><view style="font-size:30rpx;font-weight:bold" slot="left">惠农批发</view></up-navbar><view class="navbar"><view style="width:500rpx"><up-search wx:if="{{e}}" bindsearch="{{b}}" bindclear="{{c}}" u-i="1ba6254c-1" bind:__l="__l" bindupdateModelValue="{{d}}" u-p="{{e}}"></up-search></view><view class="nav-item" bindtap="{{g}}"><image src="{{f}}"></image><text>购物车</text></view><view class="nav-item" bindtap="{{i}}"><image src="{{h}}"></image><text>个人中心</text></view></view><view style="position:relative;overflow:hidden"><scroll-view class="head-view" scroll-x><view class="list"><view wx:for="{{j}}" wx:for-item="item" wx:key="e" class="{{['item', item.d && 'item-active']}}" bindtap="{{item.f}}"><view class="c-img"><up-image wx:if="{{item.b}}" u-i="{{item.a}}" bind:__l="__l" u-p="{{item.b}}"></up-image></view><view class="c-text u-line-1">{{item.c}}</view></view><view class="item" style="width:80rpx;height:20rpx"></view></view></scroll-view><view class="r-btn" bindtap="{{l}}"><view>全</view><view>部</view><up-icon wx:if="{{k}}" u-i="1ba6254c-3" bind:__l="__l" u-p="{{k}}"></up-icon></view></view><view-popup wx:if="{{m}}" u-s="{{['d']}}" bindclose="{{o}}" u-i="1ba6254c-4" bind:__l="__l" u-p="{{p}}"><view class="cateOne"><view class="head-title">全部分类</view><scroll-view scroll-y style="height:600rpx"><view class="list"><view wx:for="{{n}}" wx:for-item="item" wx:key="e" class="{{['item', item.d && 'item-active']}}" bindtap="{{item.f}}"><view class="c-img"><up-image wx:if="{{item.b}}" u-i="{{item.a}}" bind:__l="__l" u-p="{{item.b}}"></up-image></view><view class="c-text u-line-1">{{item.c}}</view></view></view></scroll-view></view></view-popup><view class="scroll-box"><scroll-view class="left" scroll-y><view wx:for="{{q}}" 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:300rpx"></view></scroll-view><view class="right"><view class="classify"><scroll-view style="height:90rpx" scroll-x><view class="classify-list"><view wx:for="{{r}}" wx:for-item="item" wx:key="c" class="{{['classify-list-item', 'u-line-1', item.b && 'item-active']}}" bindtap="{{item.d}}">{{item.a}}</view><view style="width:70rpx;flex-shrink:0"></view></view></scroll-view><view class="done" bindtap="{{t}}"><up-icon wx:if="{{s}}" u-i="1ba6254c-6" bind:__l="__l" u-p="{{s}}"></up-icon></view><view class="order-by"><view class="{{['item', v && 'order-active']}}" bindtap="{{w}}">综合</view><view class="{{['item', x && 'order-active']}}" bindtap="{{y}}">价格</view><view class="{{['item', z && 'order-active']}}" bindtap="{{A}}">销量</view></view></view><view-popup wx:if="{{B}}" u-s="{{['d']}}" bindclose="{{D}}" u-i="1ba6254c-7" bind:__l="__l"><view class="cateOne"><scroll-view scroll-y style="height:230rpx"><view class="classify-list"><view wx:for="{{C}}" wx:for-item="item" wx:key="c" class="{{['classify-list-item', 'u-line-1', item.b && 'item-active']}}" bindtap="{{item.d}}">{{item.a}}</view></view></scroll-view></view></view-popup><scroll-view class="list" scroll-y bindscrolltolower="{{G}}"><view wx:for="{{E}}" wx:for-item="item" wx:key="i" class="shop-item" bindtap="{{item.j}}"><view class="shop-img"><up-image wx:if="{{item.b}}" u-i="{{item.a}}" bind:__l="__l" u-p="{{item.b}}"></up-image></view><view class="shop-content"><view class="title"><view class="name u-line-2">{{item.c}}</view><view class="tip u-line-1"><text>{{item.d}}|</text><text>{{item.e}}|</text><text>{{item.f}}</text></view></view><view class="price-btn"><view class="price">¥{{item.g}}</view><view class="btn"><u--icon wx:if="{{F}}" u-i="{{item.h}}" bind:__l="__l" u-p="{{F}}"></u--icon></view></view></view></view><view style="width:100%;height:300rpx"></view></scroll-view></view></view><view class="fiexd-btn-box"><view class="price-info"><view class="row"><view>合计</view><view class="price">¥<text style="font-size:36rpx">{{H}}</text></view></view></view><view class="btn"><up-button wx:if="{{J}}" u-s="{{['d']}}" bindclick="{{I}}" u-i="1ba6254c-10" bind:__l="__l" u-p="{{J}}">结算</up-button></view><view class="cart" bindtap="{{M}}"><image src="{{K}}"></image><view class="badge">{{L}}</view></view></view><good-popup wx:if="{{Q}}" class="r" u-r="goodRef" bindclose="{{O}}" bindchange="{{P}}" u-i="1ba6254c-11" bind:__l="__l" u-p="{{Q}}"/></view>
|
|
@ -0,0 +1,353 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.content {
|
||||
background-color: #fff;
|
||||
}
|
||||
.navbar {
|
||||
padding: 0 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 22rpx;
|
||||
color: #777;
|
||||
}
|
||||
.navbar .nav-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.navbar .nav-item image {
|
||||
height: 40rpx;
|
||||
width: 40rpx;
|
||||
}
|
||||
.head-view {
|
||||
background-color: #fff;
|
||||
height: 180rpx;
|
||||
width: 750rpx;
|
||||
}
|
||||
.head-view .list {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 20rpx;
|
||||
font-size: 22rpx;
|
||||
}
|
||||
.head-view .list .item {
|
||||
width: 120rpx;
|
||||
flex-shrink: 0;
|
||||
margin-right: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.head-view .list .item .c-img {
|
||||
height: 100rpx;
|
||||
width: 100rpx;
|
||||
flex-shrink: 0;
|
||||
border-radius: 50%;
|
||||
border: 2px solid transparent;
|
||||
overflow: hidden;
|
||||
}
|
||||
.head-view .list .item .c-text {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
padding: 2rpx 4rpx 3rpx 4rpx;
|
||||
border-radius: 50rpx;
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
.head-view .list .item-active .c-img {
|
||||
border: 2px solid #20b128;
|
||||
}
|
||||
.head-view .list .item-active .c-text {
|
||||
background-color: #20b128;
|
||||
color: #fff;
|
||||
}
|
||||
.r-btn {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
width: 60rpx;
|
||||
font-size: 24rpx;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
box-shadow: -10rpx 0 60rpx 1rpx rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
.cateOne {
|
||||
background-color: #fff;
|
||||
}
|
||||
.cateOne .head-title {
|
||||
color: #666666;
|
||||
font-size: 30rpx;
|
||||
height: 80rpx;
|
||||
line-height: 80rpx;
|
||||
padding-left: 30rpx;
|
||||
}
|
||||
.cateOne .list {
|
||||
padding: 20rpx 20rpx;
|
||||
font-size: 22rpx;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
justify-content: center;
|
||||
grid-gap: 20rpx;
|
||||
}
|
||||
.cateOne .list .item {
|
||||
width: 120rpx;
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
.cateOne .list .item .c-img {
|
||||
height: 100rpx;
|
||||
width: 100rpx;
|
||||
flex-shrink: 0;
|
||||
border-radius: 50%;
|
||||
border: 2px solid transparent;
|
||||
overflow: hidden;
|
||||
}
|
||||
.cateOne .list .item .c-text {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
padding: 2rpx 4rpx 3rpx 4rpx;
|
||||
border-radius: 50rpx;
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
.cateOne .list .item-active .c-img {
|
||||
border: 2px solid #20b128;
|
||||
}
|
||||
.cateOne .list .item-active .c-text {
|
||||
background-color: #20b128;
|
||||
color: #fff;
|
||||
}
|
||||
.cateOne .classify-list {
|
||||
padding: 20rpx 30rpx;
|
||||
font-size: 22rpx;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
justify-content: center;
|
||||
grid-gap: 20rpx;
|
||||
}
|
||||
.cateOne .classify-list .classify-list-item {
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
width: 150rpx;
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
background: #F6F6F6;
|
||||
border-radius: 22rpx 22rpx 22rpx 22rpx;
|
||||
border: 1rpx solid transparent;
|
||||
}
|
||||
.cateOne .classify-list .item-active {
|
||||
border: 1rpx solid #20b128;
|
||||
color: #20b128;
|
||||
background-color: rgba(32, 177, 40, 0.1);
|
||||
}
|
||||
.scroll-box {
|
||||
display: flex;
|
||||
}
|
||||
.scroll-box .left {
|
||||
height: calc(100vh - var(--window-top) - var(--window-bottom) - 500rpx);
|
||||
width: 170rpx;
|
||||
box-sizing: border-box;
|
||||
background-color: #f6f6f6;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.scroll-box .left .item {
|
||||
height: 96rpx;
|
||||
line-height: 96rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.scroll-box .left .item-active {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
color: #20b128;
|
||||
}
|
||||
.scroll-box .left .item-active::before {
|
||||
content: "";
|
||||
background-color: #20b128;
|
||||
width: 6rpx;
|
||||
height: 48rpx;
|
||||
border-radius: 10rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translate(0, -50%);
|
||||
}
|
||||
.scroll-box .right {
|
||||
height: calc(100vh - var(--window-top) - 500rpx);
|
||||
width: 580rpx;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.scroll-box .right .classify {
|
||||
height: 150rpx;
|
||||
background-color: #fff;
|
||||
border-bottom: 1rpx solid #f6f6f6;
|
||||
position: relative;
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.scroll-box .right .classify .classify-list {
|
||||
display: flex;
|
||||
padding: 20rpx;
|
||||
}
|
||||
.scroll-box .right .classify .classify-list .classify-list-item {
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
width: 108rpx;
|
||||
height: 42rpx;
|
||||
line-height: 42rpx;
|
||||
background: #F6F6F6;
|
||||
border-radius: 22rpx 22rpx 22rpx 22rpx;
|
||||
margin-right: 20rpx;
|
||||
border: 1rpx solid transparent;
|
||||
}
|
||||
.scroll-box .right .classify .classify-list .item-active {
|
||||
border: 1rpx solid #20b128;
|
||||
color: #20b128;
|
||||
background-color: rgba(32, 177, 40, 0.1);
|
||||
}
|
||||
.scroll-box .right .classify .done {
|
||||
height: 90rpx;
|
||||
width: 60rpx;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
}
|
||||
.scroll-box .right .classify .order-by {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
.scroll-box .right .classify .order-by .item {
|
||||
padding-right: 20rpx;
|
||||
}
|
||||
.scroll-box .right .classify .order-by .order-active {
|
||||
color: #20b128;
|
||||
}
|
||||
.scroll-box .right .list {
|
||||
height: calc(100vh - var(--window-top) - 600rpx);
|
||||
}
|
||||
.scroll-box .right .list .shop-item {
|
||||
padding: 20rpx;
|
||||
border-bottom: 1rpx solid #f6f6f6;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-img {
|
||||
height: 160rpx;
|
||||
width: 160rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content {
|
||||
width: 380rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content .title .name {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content .title .tip {
|
||||
color: #999;
|
||||
font-size: 24rpx;
|
||||
margin: 12rpx 0;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content .price {
|
||||
font-size: 30rpx;
|
||||
font-weight: bold;
|
||||
color: #F55726;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content .price-btn {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content .price-btn .btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.scroll-box .right .list .shop-item .shop-content .price-btn .btn .num {
|
||||
width: 60rpx;
|
||||
text-align: center;
|
||||
}
|
||||
.fiexd-btn-box {
|
||||
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
|
||||
height: 140rpx;
|
||||
height: calc(constant(safe-area-inset-bottom) + 140rpx);
|
||||
/* 适用于iOS设备 */
|
||||
height: calc(env(safe-area-inset-bottom) + 140rpx);
|
||||
/* 适用于Android设备 */
|
||||
padding-top: 40rpx;
|
||||
}
|
||||
.fiexd-btn-box .price-info .row {
|
||||
display: flex;
|
||||
font-size: 26rpx;
|
||||
align-items: center;
|
||||
}
|
||||
.fiexd-btn-box .price-info .row > view {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
.fiexd-btn-box .price-info .row .price {
|
||||
color: #F55726;
|
||||
}
|
||||
.fiexd-btn-box .btn {
|
||||
width: 200rpx;
|
||||
}
|
||||
.fiexd-btn-box .cart {
|
||||
position: absolute;
|
||||
top: -40rpx;
|
||||
left: 40rpx;
|
||||
}
|
||||
.fiexd-btn-box .cart image {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
}
|
||||
.fiexd-btn-box .cart .badge {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
background-color: #F55726;
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
width: 26rpx;
|
||||
height: 26rpx;
|
||||
text-align: center;
|
||||
line-height: 26rpx;
|
||||
font-size: 18rpx;
|
||||
}
|
|
@ -0,0 +1,239 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const api_user = require("../../api/user.js");
|
||||
const store_user = require("../../store/user.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
|
||||
const _easycom_up_navbar2 = common_vendor.resolveComponent("up-navbar");
|
||||
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
|
||||
const _easycom_up_transition2 = common_vendor.resolveComponent("up-transition");
|
||||
const _easycom_up_input2 = common_vendor.resolveComponent("up-input");
|
||||
const _easycom_up_code2 = common_vendor.resolveComponent("up-code");
|
||||
(_easycom_up_icon2 + _easycom_up_navbar2 + _easycom_up_button2 + _easycom_up_transition2 + _easycom_up_input2 + _easycom_up_code2)();
|
||||
}
|
||||
const _easycom_up_icon = () => "../../uni_modules/uview-plus/components/u-icon/u-icon.js";
|
||||
const _easycom_up_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
|
||||
const _easycom_up_button = () => "../../uni_modules/uview-plus/components/u-button/u-button.js";
|
||||
const _easycom_up_transition = () => "../../uni_modules/uview-plus/components/u-transition/u-transition.js";
|
||||
const _easycom_up_input = () => "../../uni_modules/uview-plus/components/u-input/u-input.js";
|
||||
const _easycom_up_code = () => "../../uni_modules/uview-plus/components/u-code/u-code.js";
|
||||
if (!Math) {
|
||||
(_easycom_up_icon + _easycom_up_navbar + _easycom_up_button + _easycom_up_transition + _easycom_up_input + _easycom_up_code + bindPhone)();
|
||||
}
|
||||
const bindPhone = () => "../../components/bindPhone.js";
|
||||
const _sfc_main = {
|
||||
__name: "login",
|
||||
setup(__props) {
|
||||
const navToIndex = () => {
|
||||
if (!userStore.userInfo.supplier)
|
||||
common_vendor.index.reLaunch({
|
||||
url: "/pages/index/index"
|
||||
});
|
||||
else
|
||||
common_vendor.index.$u.toast("功能开发中");
|
||||
};
|
||||
const userStore = store_user.useUserStore();
|
||||
if (userStore.userInfo && userStore.userInfo.mobile) {
|
||||
navToIndex();
|
||||
} else {
|
||||
userStore.setToken("");
|
||||
userStore.setUserInfo({});
|
||||
}
|
||||
const showWeixin = common_vendor.ref(true);
|
||||
const isAgree = common_vendor.ref(false);
|
||||
const weixinLogin = () => {
|
||||
if (!isAgree.value)
|
||||
return common_vendor.index.$u.toast("请先阅读并同意协议");
|
||||
common_vendor.index.showLoading({
|
||||
title: "登录中"
|
||||
});
|
||||
common_vendor.index.login({
|
||||
provider: "weixin",
|
||||
success: (res) => {
|
||||
api_user.userLoginWeixinApi({
|
||||
code: res.code
|
||||
}).then((res2) => {
|
||||
common_vendor.index.hideLoading();
|
||||
userStore.setToken(res2.data.token);
|
||||
userStore.setUserInfo(res2.data);
|
||||
if (!res2.data.mobile) {
|
||||
return showBind.value = true;
|
||||
}
|
||||
navToIndex();
|
||||
});
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log(err);
|
||||
common_vendor.index.$u.toast("登录失败");
|
||||
}
|
||||
});
|
||||
};
|
||||
const showBind = common_vendor.ref(false);
|
||||
const getPhoneNumber = (e) => {
|
||||
var _a;
|
||||
console.log("===", e);
|
||||
if (((_a = e.detail) == null ? void 0 : _a.errMsg) == "getPhoneNumber:ok") {
|
||||
api_user.getMobileByMnpApi({
|
||||
code: e.detail.code
|
||||
}).then((res) => {
|
||||
navToIndex();
|
||||
});
|
||||
} else {
|
||||
console.log("用户拒绝授权");
|
||||
return common_vendor.index.$u.toast("您拒绝了授权");
|
||||
}
|
||||
};
|
||||
const loginForm = common_vendor.ref({
|
||||
phone: "15366662222",
|
||||
code: ""
|
||||
});
|
||||
const isPhone = () => {
|
||||
loginForm.value.phone = loginForm.value.phone.replace(/\s*/g, "");
|
||||
return !/^1[3456789]\d{9}$/.test(loginForm.value.phone);
|
||||
};
|
||||
const codeLogin = () => {
|
||||
if (!isAgree.value)
|
||||
return common_vendor.index.$u.toast("请先阅读并同意协议");
|
||||
if (isPhone())
|
||||
return common_vendor.index.$u.toast("请输入正确的手机号码");
|
||||
console.log("登录");
|
||||
api_user.userLoginApi({
|
||||
account: "17811111111",
|
||||
password: "1111",
|
||||
terminal: 3,
|
||||
scene: 1
|
||||
}).then((res) => {
|
||||
console.log(res);
|
||||
});
|
||||
};
|
||||
const tips = common_vendor.ref("");
|
||||
const seconds = common_vendor.ref(60);
|
||||
const uCodeRef = common_vendor.ref(null);
|
||||
const codeChange = (text) => {
|
||||
tips.value = text;
|
||||
};
|
||||
const getCode = () => {
|
||||
if (!isAgree.value)
|
||||
return common_vendor.index.$u.toast("请先阅读并同意协议");
|
||||
if (uCodeRef.value.canGetCode) {
|
||||
if (isPhone())
|
||||
return common_vendor.index.$u.toast("请输入正确的手机号码");
|
||||
common_vendor.index.showLoading({
|
||||
title: "正在获取验证码"
|
||||
});
|
||||
setTimeout(() => {
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.$u.toast("验证码已发送");
|
||||
uCodeRef.value.start();
|
||||
}, 2e3);
|
||||
} else {
|
||||
common_vendor.index.$u.toast("倒计时结束后再发送");
|
||||
}
|
||||
};
|
||||
const navBack = () => {
|
||||
if (showWeixin.value == false) {
|
||||
showWeixin.value = true;
|
||||
return true;
|
||||
} else
|
||||
common_vendor.index.navigateBack();
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: !showWeixin.value
|
||||
}, !showWeixin.value ? {
|
||||
b: common_vendor.o(navBack),
|
||||
c: common_vendor.p({
|
||||
name: "arrow-left",
|
||||
size: "20"
|
||||
})
|
||||
} : {}, {
|
||||
d: common_vendor.p({
|
||||
title: "登录",
|
||||
autoBack: false,
|
||||
placeholder: true,
|
||||
bgColor: "rgba(0,0,0,0)"
|
||||
}),
|
||||
e: showWeixin.value
|
||||
}, showWeixin.value ? {
|
||||
f: common_vendor.p({
|
||||
name: "weixin-fill",
|
||||
color: "#fff",
|
||||
size: "28"
|
||||
}),
|
||||
g: common_vendor.o(weixinLogin),
|
||||
h: common_vendor.p({
|
||||
color: "#20B128",
|
||||
size: "large"
|
||||
}),
|
||||
i: common_vendor.o(($event) => showWeixin.value = false),
|
||||
j: common_vendor.p({
|
||||
color: "#ECFFEE",
|
||||
size: "large"
|
||||
}),
|
||||
k: common_vendor.p({
|
||||
show: showWeixin.value
|
||||
})
|
||||
} : {
|
||||
l: common_vendor.o(($event) => loginForm.value.phone = $event),
|
||||
m: common_vendor.p({
|
||||
customStyle: {
|
||||
height: "100%"
|
||||
},
|
||||
placeholderClass: "place",
|
||||
border: "none",
|
||||
placeholder: "请输入手机号",
|
||||
type: "number",
|
||||
modelValue: loginForm.value.phone
|
||||
}),
|
||||
n: common_vendor.sr(uCodeRef, "23c3038c-9,23c3038c-8", {
|
||||
"k": "uCodeRef"
|
||||
}),
|
||||
o: common_vendor.o(codeChange),
|
||||
p: common_vendor.p({
|
||||
seconds: seconds.value
|
||||
}),
|
||||
q: common_vendor.t(tips.value),
|
||||
r: common_vendor.o(getCode),
|
||||
s: common_vendor.o(($event) => loginForm.value.code = $event),
|
||||
t: common_vendor.p({
|
||||
customStyle: {
|
||||
height: "100%"
|
||||
},
|
||||
maxlength: 4,
|
||||
placeholderClass: "place",
|
||||
border: "none",
|
||||
placeholder: "请输入验证码",
|
||||
type: "number",
|
||||
modelValue: loginForm.value.code
|
||||
}),
|
||||
v: common_vendor.o(codeLogin),
|
||||
w: common_vendor.p({
|
||||
color: "#20B128",
|
||||
size: "large"
|
||||
}),
|
||||
x: common_vendor.p({
|
||||
show: !showWeixin.value
|
||||
})
|
||||
}, {
|
||||
y: !isAgree.value
|
||||
}, !isAgree.value ? {
|
||||
z: common_vendor.o(($event) => isAgree.value = true),
|
||||
A: common_assets._imports_1
|
||||
} : {
|
||||
B: common_vendor.o(($event) => isAgree.value = false),
|
||||
C: common_assets._imports_0
|
||||
}, {
|
||||
D: common_vendor.o(($event) => showBind.value = false),
|
||||
E: common_vendor.o(getPhoneNumber),
|
||||
F: common_vendor.p({
|
||||
show: showBind.value
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pages/login/login.vue"]]);
|
||||
wx.createPage(MiniProgramPage);
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"navigationBarTitleText": "登录",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"up-icon": "../../uni_modules/uview-plus/components/u-icon/u-icon",
|
||||
"up-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar",
|
||||
"up-button": "../../uni_modules/uview-plus/components/u-button/u-button",
|
||||
"up-transition": "../../uni_modules/uview-plus/components/u-transition/u-transition",
|
||||
"up-input": "../../uni_modules/uview-plus/components/u-input/u-input",
|
||||
"up-code": "../../uni_modules/uview-plus/components/u-code/u-code",
|
||||
"bind-phone": "../../components/bindPhone"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view><up-navbar wx:if="{{d}}" u-s="{{['left']}}" u-i="23c3038c-0" bind:__l="__l" u-p="{{d}}"><view slot="left"><up-icon wx:if="{{a}}" bindclick="{{b}}" u-i="23c3038c-1,23c3038c-0" bind:__l="__l" u-p="{{c}}"></up-icon><view wx:else></view></view></up-navbar><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="{{e}}"><up-transition wx:if="{{k}}" u-s="{{['d']}}" u-i="23c3038c-2" bind:__l="__l" u-p="{{k}}"><view class="btn"><up-button wx:if="{{h}}" u-s="{{['d']}}" bindclick="{{g}}" u-i="23c3038c-3,23c3038c-2" bind:__l="__l" u-p="{{h}}"><up-icon wx:if="{{f}}" u-i="23c3038c-4,23c3038c-3" bind:__l="__l" u-p="{{f}}"></up-icon>微信快捷登录</up-button></view><view class="btn"><up-button wx:if="{{j}}" u-s="{{['d']}}" bindclick="{{i}}" u-i="23c3038c-5,23c3038c-2" bind:__l="__l" u-p="{{j}}"><text style="color:#20B128">使用短信验证登录</text></up-button></view></up-transition></block><block wx:else><up-transition wx:if="{{x}}" u-s="{{['d']}}" u-i="23c3038c-6" bind:__l="__l" u-p="{{x}}"><view class="form"><view class="input"><up-input wx:if="{{m}}" u-s="{{['prefix']}}" u-i="23c3038c-7,23c3038c-6" bind:__l="__l" bindupdateModelValue="{{l}}" u-p="{{m}}"><image style="height:40rpx;width:40rpx;margin-top:6rpx" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/48491202404281006484208.png" slot="prefix"></image></up-input></view><view class="input"><up-input wx:if="{{t}}" u-s="{{['prefix','suffix']}}" u-i="23c3038c-8,23c3038c-6" bind:__l="__l" bindupdateModelValue="{{s}}" u-p="{{t}}"><image style="height:40rpx;width:40rpx;margin-top:6rpx" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/3a42f202404281007454918.png" slot="prefix"></image><view slot="suffix"><up-code wx:if="{{p}}" class="r" u-r="uCodeRef" bindchange="{{o}}" u-i="23c3038c-9,23c3038c-8" bind:__l="__l" u-p="{{p}}"></up-code><view style="color:#20B128" bindtap="{{r}}">{{q}}</view></view></up-input></view></view><view class="btn"><up-button wx:if="{{w}}" u-s="{{['d']}}" bindclick="{{v}}" u-i="23c3038c-10,23c3038c-6" bind:__l="__l" u-p="{{w}}">登录</up-button></view></up-transition></block><view class="agreement"><image wx:if="{{y}}" bindtap="{{z}}" src="{{A}}"></image><image wx:else bindtap="{{B}}" src="{{C}}"></image><view> 我已同意<text>《用户协议》</text>与<text>《隐私政策》</text></view></view></view><bind-phone wx:if="{{F}}" bindclose="{{D}}" bindchange="{{E}}" u-i="23c3038c-11" bind:__l="__l" u-p="{{F}}"/></view>
|
|
@ -0,0 +1,84 @@
|
|||
/**
|
||||
* 这里是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: 80vh;
|
||||
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 .form .input {
|
||||
background-color: #ECFFEE;
|
||||
width: 600rpx;
|
||||
height: 90rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 0 20rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
.login-box .form .input .place {
|
||||
color: #333;
|
||||
}
|
||||
.login-box .form .input .customStyle {
|
||||
color: red;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
.login-box .agreement text {
|
||||
color: #20B128;
|
||||
}
|
|
@ -0,0 +1,101 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const store_user = require("../../store/user.js");
|
||||
const api_order = require("../../api/order.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_navbar2 = common_vendor.resolveComponent("up-navbar");
|
||||
const _easycom_up_avatar2 = common_vendor.resolveComponent("up-avatar");
|
||||
const _easycom_up_cell2 = common_vendor.resolveComponent("up-cell");
|
||||
const _easycom_up_cell_group2 = common_vendor.resolveComponent("up-cell-group");
|
||||
(_easycom_up_navbar2 + _easycom_up_avatar2 + _easycom_up_cell2 + _easycom_up_cell_group2)();
|
||||
}
|
||||
const _easycom_up_navbar = () => "../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
|
||||
const _easycom_up_avatar = () => "../../uni_modules/uview-plus/components/u-avatar/u-avatar.js";
|
||||
const _easycom_up_cell = () => "../../uni_modules/uview-plus/components/u-cell/u-cell.js";
|
||||
const _easycom_up_cell_group = () => "../../uni_modules/uview-plus/components/u-cell-group/u-cell-group.js";
|
||||
if (!Math) {
|
||||
(_easycom_up_navbar + _easycom_up_avatar + _easycom_up_cell + _easycom_up_cell_group)();
|
||||
}
|
||||
const _sfc_main = {
|
||||
__name: "my",
|
||||
setup(__props) {
|
||||
const userStore = store_user.useUserStore();
|
||||
const userInfo = userStore.userInfo;
|
||||
const orderCount = common_vendor.ref({
|
||||
no_pay: 0,
|
||||
receiving: 0,
|
||||
waiting: 0
|
||||
});
|
||||
const getOrderCount = () => {
|
||||
api_order.orderCountApi().then((res) => {
|
||||
orderCount.value = res.data;
|
||||
});
|
||||
};
|
||||
getOrderCount();
|
||||
const navTo = (type = 0) => {
|
||||
common_vendor.index.navigateTo({
|
||||
url: `/pagesOrder/order/order?type=${type}`
|
||||
});
|
||||
};
|
||||
const logout = () => {
|
||||
userStore.setToken("");
|
||||
userStore.setUserInfo({});
|
||||
common_vendor.index.reLaunch({
|
||||
url: "/pages/login/login"
|
||||
});
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.p({
|
||||
title: "我的",
|
||||
bgColor: "rgba(0,0,0,0)",
|
||||
autoBack: true
|
||||
}),
|
||||
b: common_vendor.p({
|
||||
src: common_vendor.unref(userInfo).avatar,
|
||||
size: "80"
|
||||
}),
|
||||
c: common_vendor.t(common_vendor.unref(userInfo).nickname),
|
||||
d: common_vendor.t(common_vendor.unref(userInfo).id),
|
||||
e: orderCount.value.no_pay
|
||||
}, orderCount.value.no_pay ? {
|
||||
f: common_vendor.t(orderCount.value.no_pay)
|
||||
} : {}, {
|
||||
g: common_vendor.o(($event) => navTo(1)),
|
||||
h: orderCount.value.waiting
|
||||
}, orderCount.value.waiting ? {
|
||||
i: common_vendor.t(orderCount.value.waiting)
|
||||
} : {}, {
|
||||
j: common_vendor.o(($event) => navTo(2)),
|
||||
k: orderCount.value.receiving
|
||||
}, orderCount.value.receiving ? {
|
||||
l: common_vendor.t(orderCount.value.receiving)
|
||||
} : {}, {
|
||||
m: common_vendor.o(($event) => navTo(3)),
|
||||
n: common_vendor.o(($event) => navTo()),
|
||||
o: common_vendor.p({
|
||||
title: "我的地址",
|
||||
isLink: true,
|
||||
url: "/pagesOrder/addressList/addressList"
|
||||
}),
|
||||
p: common_vendor.p({
|
||||
title: "意见反馈",
|
||||
isLink: true
|
||||
}),
|
||||
q: common_vendor.p({
|
||||
title: "关于我们",
|
||||
isLink: true
|
||||
}),
|
||||
r: common_vendor.o(logout),
|
||||
s: common_vendor.p({
|
||||
title: "退出登录",
|
||||
isLink: true
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pages/my/my.vue"]]);
|
||||
wx.createPage(MiniProgramPage);
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"navigationBarTitleText": "个人中心",
|
||||
"enablePullDownRefresh": false,
|
||||
"navigationStyle": "custom",
|
||||
"usingComponents": {
|
||||
"up-navbar": "../../uni_modules/uview-plus/components/u-navbar/u-navbar",
|
||||
"up-avatar": "../../uni_modules/uview-plus/components/u-avatar/u-avatar",
|
||||
"up-cell": "../../uni_modules/uview-plus/components/u-cell/u-cell",
|
||||
"up-cell-group": "../../uni_modules/uview-plus/components/u-cell-group/u-cell-group"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view><up-navbar wx:if="{{a}}" u-i="39cfeb26-0" bind:__l="__l" u-p="{{a}}"></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">{{c}}</view><view class="u-id">ID: {{d}}</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="{{g}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/f335a202404261401535608.png"></image><view class="">待付款</view><view wx:if="{{e}}" class="badge">{{f}}</view></view><view class="list-item" bindtap="{{j}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/53747202405061509465296.png"></image><view class="">待发货</view><view wx:if="{{h}}" class="badge">{{i}}</view></view><view class="list-item" bindtap="{{m}}"><image src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/45241202404261403353935.png"></image><view class="">待收货</view><view wx:if="{{k}}" class="badge">{{l}}</view></view><view class="list-item" bindtap="{{n}}"><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="{{o}}" u-i="39cfeb26-3,39cfeb26-2" bind:__l="__l" u-p="{{o}}"></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="{{p}}" u-i="39cfeb26-5,39cfeb26-4" bind:__l="__l" u-p="{{p}}"></up-cell><up-cell wx:if="{{q}}" u-i="39cfeb26-6,39cfeb26-4" bind:__l="__l" u-p="{{q}}"></up-cell><up-cell wx:if="{{s}}" bindclick="{{r}}" u-i="39cfeb26-7,39cfeb26-4" bind:__l="__l" u-p="{{s}}"></up-cell></up-cell-group></view></view>
|
|
@ -0,0 +1,122 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.user-info {
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
width: 750rpx;
|
||||
height: 450rpx;
|
||||
}
|
||||
.user-info .bg {
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
.user-info .u-card {
|
||||
box-sizing: border-box;
|
||||
padding: 50rpx 0 50rpx 50rpx;
|
||||
display: flex;
|
||||
position: absolute;
|
||||
bottom: 50rpx;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
.user-info .u-card .content {
|
||||
width: 500rpx;
|
||||
padding-left: 30rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
.user-info .u-card .content .u-phone {
|
||||
font-size: 32rpx;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.user-info .u-card .content .u-id {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.order-info-box {
|
||||
margin: 20rpx;
|
||||
height: 140rpx;
|
||||
position: relative;
|
||||
}
|
||||
.order-info-box .order-info {
|
||||
height: 220rpx;
|
||||
width: 710rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 14rpx;
|
||||
position: absolute;
|
||||
top: -80rpx;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
background-image: url("https://lihai001.oss-cn-chengdu.aliyuncs.com/def/a8863202404261349533191.png");
|
||||
background-size: 28% 100%;
|
||||
background-position: right;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.order-info-box .order-info .info-head {
|
||||
margin-left: 20rpx;
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
font-size: 32rpx;
|
||||
}
|
||||
.order-info-box .order-info .info-list {
|
||||
height: 110rpx;
|
||||
display: flex;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.order-info-box .order-info .info-list .list-item {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
.order-info-box .order-info .info-list .list-item image {
|
||||
width: 64rpx;
|
||||
height: 64rpx;
|
||||
}
|
||||
.order-info-box .order-info .info-list .list-item .badge {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 20%;
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
border-radius: 50%;
|
||||
text-align: center;
|
||||
line-height: 30rpx;
|
||||
font-size: 22rpx;
|
||||
color: #fff;
|
||||
background-color: #F55726;
|
||||
}
|
||||
.card {
|
||||
margin: 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 14rpx;
|
||||
overflow: hidden;
|
||||
}
|
|
@ -0,0 +1,145 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const api_user = require("../../api/user.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
require("../../store/user.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({
|
||||
real_name: "",
|
||||
phone: "",
|
||||
detail: "",
|
||||
is_default: 0
|
||||
});
|
||||
const rules = common_vendor.ref({
|
||||
real_name: [{ required: true, message: "请输入姓名", trigger: ["blur"] }],
|
||||
phone: [{ required: true, message: "请输入手机号", trigger: ["blur"] }],
|
||||
detail: [{ required: true, message: "请输入地址", trigger: ["blur"] }]
|
||||
});
|
||||
const uForm = common_vendor.ref(null);
|
||||
const submit = () => {
|
||||
uForm.value.validate().then(() => {
|
||||
console.log("验证通过");
|
||||
if (mode.value == "add") {
|
||||
api_user.addressCreateApi(formData.value).then((res) => {
|
||||
common_vendor.index.$u.toast(res.msg);
|
||||
common_vendor.index.$u.sleep(800).then((res2) => {
|
||||
common_vendor.index.navigateBack();
|
||||
});
|
||||
});
|
||||
} else {
|
||||
api_user.addressEditApi(formData.value).then((res) => {
|
||||
common_vendor.index.$u.toast(res.msg);
|
||||
common_vendor.index.$u.sleep(800).then((res2) => {
|
||||
common_vendor.index.navigateBack();
|
||||
});
|
||||
});
|
||||
}
|
||||
}).catch(() => {
|
||||
console.log("验证失败");
|
||||
});
|
||||
};
|
||||
const getAddressDetil = (address_id) => {
|
||||
api_user.addressDetailApi({
|
||||
address_id
|
||||
}).then((res) => {
|
||||
formData.value = res.data;
|
||||
});
|
||||
};
|
||||
common_vendor.onLoad((options) => {
|
||||
if (options.mode == "edit" && options.address_id) {
|
||||
mode.value = "edit";
|
||||
common_vendor.index.setNavigationBarTitle({
|
||||
title: "编辑地址"
|
||||
});
|
||||
getAddressDetil(options.address_id);
|
||||
} else
|
||||
common_vendor.index.setNavigationBarTitle({
|
||||
title: "新增地址"
|
||||
});
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return {
|
||||
a: common_vendor.o(($event) => formData.value.real_name = $event),
|
||||
b: common_vendor.p({
|
||||
disabledColor: "#ffffff",
|
||||
border: "none",
|
||||
placeholder: "请填写收货人姓名",
|
||||
modelValue: formData.value.real_name
|
||||
}),
|
||||
c: common_vendor.p({
|
||||
label: "收货人",
|
||||
prop: "real_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.detail = $event),
|
||||
h: common_vendor.p({
|
||||
disabledColor: "#ffffff",
|
||||
placeholder: "请填写详细地址",
|
||||
border: "none",
|
||||
modelValue: formData.value.detail
|
||||
}),
|
||||
i: common_vendor.p({
|
||||
label: "详细地址",
|
||||
prop: "detail",
|
||||
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.is_default = $event),
|
||||
m: common_vendor.p({
|
||||
activeValue: 1,
|
||||
inactiveValue: 0,
|
||||
activeColor: "#20B128",
|
||||
modelValue: formData.value.is_default
|
||||
}),
|
||||
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);
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -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>
|
|
@ -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设备 */
|
||||
}
|
|
@ -0,0 +1,104 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const api_user = require("../../api/user.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
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 + 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) => {
|
||||
if (addressList.value.length <= 1)
|
||||
return common_vendor.index.$u.toast("最后一个地址无法删除!");
|
||||
deleteInfo.value = item;
|
||||
show.value = true;
|
||||
};
|
||||
const updateDefault = (item) => {
|
||||
api_user.addressEditApi({
|
||||
...item,
|
||||
is_default: !item.is_default
|
||||
}).then((res) => {
|
||||
getAddressLists();
|
||||
});
|
||||
};
|
||||
const deleteAddress = () => {
|
||||
api_user.addressDeleteApi({
|
||||
address_id: deleteInfo.value.address_id
|
||||
}).then((res) => {
|
||||
getAddressLists();
|
||||
});
|
||||
show.value = false;
|
||||
};
|
||||
const addressList = common_vendor.ref([]);
|
||||
const getAddressLists = () => {
|
||||
api_user.addressListsApi().then((res) => {
|
||||
addressList.value = res.data.lists;
|
||||
});
|
||||
};
|
||||
common_vendor.onShow(() => {
|
||||
getAddressLists();
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return {
|
||||
a: common_vendor.f(addressList.value, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(item.real_name),
|
||||
b: common_vendor.t(item.phone),
|
||||
c: common_vendor.t(item.detail),
|
||||
d: item.is_default
|
||||
}, item.is_default ? {
|
||||
e: common_assets._imports_0
|
||||
} : {
|
||||
f: common_assets._imports_1
|
||||
}, {
|
||||
g: common_vendor.o(($event) => updateDefault(item), index),
|
||||
h: "5e66515e-0-" + i0,
|
||||
i: common_vendor.o(($event) => showDelete(item), index),
|
||||
j: "5e66515e-1-" + i0,
|
||||
k: common_vendor.o(($event) => navTo("/pagesOrder/addressEdit/addressEdit?mode=edit&address_id=" + item.address_id), index),
|
||||
l: 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);
|
|
@ -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"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view class="list"><view wx:for="{{a}}" wx:for-item="item" wx:key="l" class="address-card"><view class="address-info"><view class="top"><view class="name">收货人:{{item.a}}</view><view class="phone">{{item.b}}</view></view><view class="bottom">{{item.c}}</view></view><view class="btn-box"><view class="left" bindtap="{{item.g}}"><image wx:if="{{item.d}}" src="{{item.e}}"></image><image wx:else src="{{item.f}}"></image><view>设为默认</view></view><view class="right"><view class="btn" bindtap="{{item.i}}"><up-icon wx:if="{{b}}" u-i="{{item.h}}" bind:__l="__l" u-p="{{b}}"></up-icon> 删除 </view><view class="btn" bindtap="{{item.k}}"><up-icon wx:if="{{c}}" u-i="{{item.j}}" 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>
|
|
@ -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 #f6f6f6;
|
||||
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);
|
||||
/* 缩小 */
|
||||
}
|
||||
}
|
|
@ -0,0 +1,239 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const api_order = require("../../api/order.js");
|
||||
const api_user = require("../../api/user.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
require("../../store/user.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_icon2 = common_vendor.resolveComponent("up-icon");
|
||||
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
|
||||
const _easycom_up_image2 = common_vendor.resolveComponent("up-image");
|
||||
const _easycom_up_copy2 = common_vendor.resolveComponent("up-copy");
|
||||
(_easycom_up_icon2 + _easycom_up_button2 + _easycom_up_image2 + _easycom_up_copy2)();
|
||||
}
|
||||
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_image = () => "../../uni_modules/uview-plus/components/u-image/u-image.js";
|
||||
const _easycom_up_copy = () => "../../uni_modules/uview-plus/components/u-copy/u-copy.js";
|
||||
if (!Math) {
|
||||
(_easycom_up_icon + _easycom_up_button + _easycom_up_image + _easycom_up_copy + orderCanclePopup + addressPopup + modal)();
|
||||
}
|
||||
const addressPopup = () => "../../components/addressPopup.js";
|
||||
const orderCanclePopup = () => "../../components/orderCanclePopup.js";
|
||||
const modal = () => "../../components/modal.js";
|
||||
const _sfc_main = {
|
||||
__name: "detail",
|
||||
setup(__props) {
|
||||
const showCancel = common_vendor.ref(false);
|
||||
const submitCancel = (e) => {
|
||||
showCancel.value = false;
|
||||
console.log(e);
|
||||
common_vendor.index.showToast({
|
||||
title: "取消成功",
|
||||
icon: "none"
|
||||
});
|
||||
};
|
||||
const datas = common_vendor.ref({});
|
||||
const getDetails = () => {
|
||||
api_order.orderDetailApi({
|
||||
order_id: datas.value.id
|
||||
}).then((res) => {
|
||||
datas.value = res.data;
|
||||
if (!res.data.paid) {
|
||||
targetDate = new Date(res.data.create_time).getTime() + 30 * 60 * 1e3;
|
||||
timer = setInterval(updateCountdown, 1e3);
|
||||
updateCountdown();
|
||||
}
|
||||
});
|
||||
};
|
||||
const c_price = (price, index = 0) => {
|
||||
price = price + "";
|
||||
return price.split(".")[index] || (index ? "00" : "0");
|
||||
};
|
||||
const addressList = common_vendor.ref([]);
|
||||
const getAddressList = () => {
|
||||
api_user.addressListsApi().then((res) => {
|
||||
addressList.value = res.data.lists;
|
||||
addressList.value.forEach((item) => {
|
||||
if (item.is_default) {
|
||||
addressInfo.value = item;
|
||||
}
|
||||
});
|
||||
if (addressList.value.length > 0) {
|
||||
addressInfo.value = addressList.value[0];
|
||||
}
|
||||
});
|
||||
};
|
||||
getAddressList();
|
||||
const showAddress = common_vendor.ref(false);
|
||||
const addressInfo = common_vendor.ref({});
|
||||
const changeAddress = (e) => {
|
||||
addressInfo.value = e;
|
||||
showAddress.value = false;
|
||||
};
|
||||
const rePay = () => {
|
||||
api_order.rePaymentApi({
|
||||
order_id: datas.value.id,
|
||||
pay_type: 1
|
||||
}).then((res) => {
|
||||
console.log(res);
|
||||
});
|
||||
};
|
||||
let targetDate = "";
|
||||
let countDown = common_vendor.ref("");
|
||||
let timer = null;
|
||||
function updateCountdown() {
|
||||
const now = (/* @__PURE__ */ new Date()).getTime();
|
||||
const distance = targetDate - now;
|
||||
if (distance < 0)
|
||||
return clearInterval(timer);
|
||||
const hours = Math.floor(distance % (1e3 * 60 * 60 * 24) / (1e3 * 60 * 60));
|
||||
const minutes = Math.floor(distance % (1e3 * 60 * 60) / (1e3 * 60));
|
||||
const seconds = Math.floor(distance % (1e3 * 60) / 1e3);
|
||||
countDown.value = `${hours.toString().padStart(2, "0")}:${minutes.toString().padStart(2, "0")}:${seconds.toString().padStart(2, "0")}`;
|
||||
if (distance < 0) {
|
||||
console.log("倒计时结束");
|
||||
countDown.value = "";
|
||||
}
|
||||
}
|
||||
common_vendor.onLoad((option) => {
|
||||
common_vendor.index.setNavigationBarTitle({
|
||||
title: option.type == 0 ? "等待付款" : "订单详情"
|
||||
});
|
||||
if (option.id) {
|
||||
datas.value.id = option.id;
|
||||
getDetails();
|
||||
}
|
||||
});
|
||||
common_vendor.onBackPress(() => {
|
||||
clearInterval(timer);
|
||||
console.log("清除");
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: datas.value.paid == 0 && common_vendor.unref(countDown)
|
||||
}, datas.value.paid == 0 && common_vendor.unref(countDown) ? {
|
||||
b: common_vendor.t(common_vendor.unref(countDown))
|
||||
} : {}, {
|
||||
c: common_vendor.p({
|
||||
name: "account"
|
||||
}),
|
||||
d: common_vendor.t(addressInfo.value.real_name),
|
||||
e: common_vendor.t(addressInfo.value.phone),
|
||||
f: common_vendor.t(addressInfo.value.detail),
|
||||
g: datas.value.paid == 0
|
||||
}, datas.value.paid == 0 ? {
|
||||
h: common_vendor.o(($event) => showAddress.value = true),
|
||||
i: common_vendor.p({
|
||||
size: "small",
|
||||
shape: "circle",
|
||||
color: "#f6f6f6",
|
||||
customStyle: {
|
||||
color: "#666666"
|
||||
}
|
||||
})
|
||||
} : {}, {
|
||||
j: common_vendor.f(datas.value.goods_list, (item, index, i0) => {
|
||||
return {
|
||||
a: "666b5ad0-2-" + i0,
|
||||
b: common_vendor.p({
|
||||
src: item.imgs,
|
||||
width: "160rpx",
|
||||
height: "160rpx"
|
||||
}),
|
||||
c: common_vendor.t(item.class_name),
|
||||
d: common_vendor.t(item.sell),
|
||||
e: common_vendor.t(item.goods_unit),
|
||||
f: common_vendor.t(item.nums),
|
||||
g: common_vendor.t(item.msg),
|
||||
h: index
|
||||
};
|
||||
}),
|
||||
k: datas.value.paid == 0
|
||||
}, datas.value.paid == 0 ? common_vendor.e({
|
||||
l: datas.value.goods_list
|
||||
}, datas.value.goods_list ? {
|
||||
m: common_vendor.t(datas.value.goods_list.length),
|
||||
n: common_vendor.t(c_price(datas.value.total, 0)),
|
||||
o: common_vendor.t(c_price(datas.value.total, 1))
|
||||
} : {}, {
|
||||
p: datas.value.total
|
||||
}, datas.value.total ? {
|
||||
q: common_vendor.t(c_price(datas.value.total, 0)),
|
||||
r: common_vendor.t(c_price(datas.value.total, 1))
|
||||
} : {}) : {}, {
|
||||
s: datas.value.paid == 0
|
||||
}, datas.value.paid == 0 ? common_vendor.e({
|
||||
t: common_vendor.t(datas.value.number),
|
||||
v: common_vendor.p({
|
||||
content: datas.value.number
|
||||
}),
|
||||
w: common_vendor.t(datas.value.create_time),
|
||||
x: datas.value.paid
|
||||
}, datas.value.paid ? {} : {}) : common_vendor.e({
|
||||
y: datas.value.goods_list
|
||||
}, datas.value.goods_list ? {
|
||||
z: common_vendor.t(c_price(datas.value.total, 0)),
|
||||
A: common_vendor.t(c_price(datas.value.total, 1))
|
||||
} : {}, {
|
||||
B: common_vendor.t(datas.value.number),
|
||||
C: common_vendor.p({
|
||||
content: datas.value.number
|
||||
}),
|
||||
D: common_vendor.t(datas.value.pay_type == 3 ? "余额支付" : "微信支付"),
|
||||
E: common_vendor.t(datas.value.create_time),
|
||||
F: datas.value.paid
|
||||
}, datas.value.paid ? {} : {}), {
|
||||
G: datas.value.number
|
||||
}, datas.value.number ? common_vendor.e({
|
||||
H: !datas.value.paid
|
||||
}, !datas.value.paid ? {
|
||||
I: common_vendor.o(($event) => showCancel.value = true),
|
||||
J: common_vendor.t(datas.value.total),
|
||||
K: common_vendor.o(rePay),
|
||||
L: common_vendor.p({
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
})
|
||||
} : common_vendor.e({
|
||||
M: datas.value.status == 0 || datas.value.status == 1
|
||||
}, datas.value.status == 0 || datas.value.status == 1 ? {
|
||||
N: common_vendor.o(() => {
|
||||
}),
|
||||
O: common_vendor.p({
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
})
|
||||
} : {
|
||||
P: common_vendor.o(() => {
|
||||
}),
|
||||
Q: common_vendor.p({
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
})
|
||||
})) : {}, {
|
||||
R: common_vendor.o(($event) => showCancel.value = false),
|
||||
S: common_vendor.o(submitCancel),
|
||||
T: common_vendor.p({
|
||||
show: showCancel.value
|
||||
}),
|
||||
U: addressList.value.length > 0
|
||||
}, addressList.value.length > 0 ? {
|
||||
V: common_vendor.o(($event) => showAddress.value = false),
|
||||
W: common_vendor.o(changeAddress),
|
||||
X: common_vendor.p({
|
||||
show: showAddress.value,
|
||||
list: addressList.value
|
||||
})
|
||||
} : {}, {
|
||||
Y: common_vendor.p({
|
||||
show: false,
|
||||
content: "您还没有添加收货地址,请点击添加"
|
||||
})
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pagesOrder/detail/detail.vue"]]);
|
||||
wx.createPage(MiniProgramPage);
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"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",
|
||||
"up-image": "../../uni_modules/uview-plus/components/u-image/u-image",
|
||||
"up-copy": "../../uni_modules/uview-plus/components/u-copy/u-copy",
|
||||
"address-popup": "../../components/addressPopup",
|
||||
"order-cancle-popup": "../../components/orderCanclePopup",
|
||||
"modal": "../../components/modal"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view class=""><view wx:if="{{a}}" class="count_down"> 还剩<text>{{b}}</text>订单自动取消 </view><view class="m-card m-address" style="margin-top:20rpx"><view class="address-info"><view class="top"><up-icon wx:if="{{c}}" u-i="666b5ad0-0" bind:__l="__l" u-p="{{c}}"></up-icon><view class="t-name">{{d}}</view><view>{{e}}</view></view><view class="bottom u-line-2">{{f}}</view></view><view wx:if="{{g}}" class="address-btn"><view style="width:80px"><up-button wx:if="{{i}}" u-s="{{['d']}}" bindclick="{{h}}" u-i="666b5ad0-1" bind:__l="__l" u-p="{{i}}">修改</up-button></view></view></view><view wx:for="{{j}}" wx:for-item="item" wx:key="h" class="m-card m-good"><view class="image"><up-image wx:if="{{item.b}}" u-i="{{item.a}}" bind:__l="__l" u-p="{{item.b}}"></up-image></view><view class="body-content"><view><view class="title"><view>{{item.c}}</view><view>¥{{item.d}}</view></view><view class="tips"><view>{{item.e}}</view><view>x{{item.f}}</view></view></view><view class="time">{{item.g}}</view></view></view><view wx:if="{{k}}" class="m-card good-info"><view wx:if="{{l}}" class="row"><view>商品总价 <text>共计{{m}}款商品</text></view><view><text>¥</text>{{n}}<text>.{{o}}</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 wx:if="{{p}}"><text>¥</text>{{q}}<text>.{{r}}</text></view></view></view><view class="m-card good-info"><view class="head-title">订单信息</view><block wx:if="{{s}}"><view class="row"><view>订单编号</view><up-copy wx:if="{{v}}" u-s="{{['d']}}" u-i="666b5ad0-3" bind:__l="__l" u-p="{{v}}"><text>{{t}} | 复制</text></up-copy></view><view class="row"><view>下单时间</view><view>{{w}}</view></view><view class="row" style="margin-bottom:0"><view>支付状态</view><view wx:if="{{x}}">已支付</view><view wx:else class="red">待支付</view></view></block><block wx:else><view wx:if="{{y}}" class="row"><view>实付款</view><view><text>¥</text>{{z}}<text>.{{A}}</text></view></view><view class="row"><view>订单编号</view><up-copy wx:if="{{C}}" u-s="{{['d']}}" u-i="666b5ad0-4" bind:__l="__l" u-p="{{C}}"><text>{{B}} | 复制</text></up-copy></view><view class="row"><view>支付方式</view><view>{{D}}</view></view><view class="row"><view>下单时间</view><view>{{E}}</view></view><view class="row" style="margin-bottom:0"><view>支付状态</view><view wx:if="{{F}}">已支付</view><view wx:else class="red">待支付</view></view></block></view><view style="width:100%;height:200rpx"></view><view wx:if="{{G}}" class="fiexd-btn-box"><block wx:if="{{H}}"><view style="color:#777777" bindtap="{{I}}">取消订单</view><view style="width:450rpx"><up-button wx:if="{{L}}" u-s="{{['d']}}" bindclick="{{K}}" u-i="666b5ad0-5" bind:__l="__l" u-p="{{L}}">立即支付 ¥{{J}}</up-button></view></block><block wx:else><view></view><view style="width:450rpx"><up-button wx:if="{{M}}" u-s="{{['d']}}" bindclick="{{N}}" u-i="666b5ad0-6" bind:__l="__l" u-p="{{O}}">确认收货</up-button><up-button wx:else u-s="{{['d']}}" bindclick="{{P}}" u-i="666b5ad0-7" bind:__l="__l" u-p="{{Q||''}}">再次购买</up-button></view></block></view><order-cancle-popup wx:if="{{T}}" bindclose="{{R}}" bindchange="{{S}}" u-i="666b5ad0-8" bind:__l="__l" u-p="{{T}}"/><address-popup wx:if="{{U}}" bindclose="{{V}}" bindchange="{{W}}" u-i="666b5ad0-9" bind:__l="__l" u-p="{{X}}"/><modal wx:if="{{Y}}" u-i="666b5ad0-10" bind:__l="__l" u-p="{{Y}}"></modal></view>
|
|
@ -0,0 +1,125 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.count_down {
|
||||
padding-top: 20rpx;
|
||||
text-align: center;
|
||||
color: #444444;
|
||||
}
|
||||
.count_down text {
|
||||
color: #F55726;
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
.m-card {
|
||||
width: 710rpx;
|
||||
margin: 0 auto;
|
||||
background-color: #fff;
|
||||
border-radius: 14rpx;
|
||||
box-sizing: border-box;
|
||||
padding: 20rpx;
|
||||
color: #333333;
|
||||
}
|
||||
.m-address {
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #999999;
|
||||
}
|
||||
.m-address .address-info {
|
||||
width: 510rpx;
|
||||
}
|
||||
.m-address .address-info .top {
|
||||
display: flex;
|
||||
font-size: 28rpx;
|
||||
}
|
||||
.m-address .address-info .top .t-name {
|
||||
color: #444;
|
||||
margin: 0 10rpx;
|
||||
}
|
||||
.m-address .address-info .bottom {
|
||||
font-size: 24rpx;
|
||||
}
|
||||
.m-good {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.m-good .image {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.m-good .body-content {
|
||||
width: 490rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
color: #989898;
|
||||
}
|
||||
.m-good .body-content .title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 28rpx;
|
||||
color: #444;
|
||||
}
|
||||
.m-good .body-content .tips {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 24rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.m-good .body-content .time {
|
||||
background-color: #F6F6F6;
|
||||
padding: 5rpx 10rpx;
|
||||
font-size: 26rpx;
|
||||
color: #444;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
.good-info {
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.good-info .head-title {
|
||||
margin-bottom: 18rpx;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
.good-info .row {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 18rpx;
|
||||
}
|
||||
.good-info .row .red {
|
||||
color: #F55726;
|
||||
}
|
||||
.good-info .row-need {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
color: #F55726;
|
||||
}
|
||||
.good-info text {
|
||||
font-size: 22rpx;
|
||||
}
|
|
@ -0,0 +1,109 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../../common/vendor.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 = {
|
||||
__name: "good",
|
||||
props: {
|
||||
type: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
datas: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
}
|
||||
}
|
||||
},
|
||||
emits: ["cancleOrder"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
const props = __props;
|
||||
const navTo = () => {
|
||||
common_vendor.index.navigateTo({
|
||||
url: `/pagesOrder/detail/detail?type=${props.datas.paid}&id=${props.datas.id}`
|
||||
});
|
||||
};
|
||||
const emit = __emit;
|
||||
const cancleOrder = () => {
|
||||
emit("cancleOrder", props.datas);
|
||||
};
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(__props.datas.number),
|
||||
b: __props.datas.paid == 0
|
||||
}, __props.datas.paid == 0 ? {} : common_vendor.e({
|
||||
c: __props.datas.status == 0
|
||||
}, __props.datas.status == 0 ? {} : {}, {
|
||||
d: __props.datas.status == 1
|
||||
}, __props.datas.status == 1 ? {} : {}, {
|
||||
e: __props.datas.status == 2 || __props.datas.status == 3
|
||||
}, __props.datas.status == 2 || __props.datas.status == 3 ? {} : {}), {
|
||||
f: common_vendor.o(navTo),
|
||||
g: common_vendor.f(__props.datas.goods_list, (item, index, i0) => {
|
||||
return {
|
||||
a: item.imgs,
|
||||
b: index
|
||||
};
|
||||
}),
|
||||
h: common_vendor.p({
|
||||
name: "arrow-right-double",
|
||||
color: "#20B128"
|
||||
}),
|
||||
i: common_vendor.t(__props.datas.goods_count),
|
||||
j: common_vendor.t(__props.datas.total),
|
||||
k: common_vendor.o(navTo),
|
||||
l: __props.datas.paid == 0
|
||||
}, __props.datas.paid == 0 ? {
|
||||
m: common_vendor.o(cancleOrder),
|
||||
n: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#989898",
|
||||
shape: "circle"
|
||||
}),
|
||||
o: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
})
|
||||
} : common_vendor.e({
|
||||
p: __props.datas.status == 1
|
||||
}, __props.datas.status == 1 ? {
|
||||
q: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
})
|
||||
} : {}, {
|
||||
r: __props.datas.status == 2 || __props.datas.status == 3
|
||||
}, __props.datas.status == 2 || __props.datas.status == 3 ? {
|
||||
s: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
})
|
||||
} : {}, {
|
||||
t: common_vendor.p({
|
||||
size: "small",
|
||||
plain: true,
|
||||
color: "#20B128",
|
||||
shape: "circle"
|
||||
}),
|
||||
v: common_vendor.o(navTo)
|
||||
}));
|
||||
};
|
||||
}
|
||||
};
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pagesOrder/order/component/good.vue"]]);
|
||||
wx.createComponent(Component);
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"up-icon": "../../../uni_modules/uview-plus/components/u-icon/u-icon",
|
||||
"up-button": "../../../uni_modules/uview-plus/components/u-button/u-button"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view class="shop-item"><view class="item-title" bindtap="{{f}}"><view>{{a}}</view><view wx:if="{{b}}"><text>待付款</text></view><view wx:else><text wx:if="{{c}}">待发货</text><text wx:if="{{d}}">待收货</text><text wx:if="{{e}}">已完成</text></view></view><view class="item-body" bindtap="{{k}}"><view class="body-content"><view style="display:flex;flex:1;flex-shrink:0"><view wx:for="{{g}}" wx:for-item="item" wx:key="b"><image class="image" src="{{item.a}}"></image></view></view><view style="display:flex;flex-direction:column;align-items:center;justify-content:center;width:100rpx"><up-icon wx:if="{{h}}" u-i="e1c5d592-0" bind:__l="__l" u-p="{{h}}"></up-icon></view></view><view class="all">共 {{i}} 件商品, 总金额 <text>¥{{j}}</text></view></view><view wx:if="{{l}}" class="item-btn"><view style="width:80px"><up-button wx:if="{{n}}" u-s="{{['d']}}" bindclick="{{m}}" u-i="e1c5d592-1" bind:__l="__l" u-p="{{n}}">取消订单</up-button></view><view style="width:80px"><up-button wx:if="{{o}}" u-s="{{['d']}}" u-i="e1c5d592-2" bind:__l="__l" u-p="{{o}}">立即支付</up-button></view></view><view wx:else class="item-btn"><view wx:if="{{p}}" style="width:80px"><up-button wx:if="{{q}}" u-s="{{['d']}}" u-i="e1c5d592-3" bind:__l="__l" u-p="{{q}}">确认收货</up-button></view><view wx:if="{{r}}" style="width:80px"><up-button wx:if="{{s}}" u-s="{{['d']}}" u-i="e1c5d592-4" bind:__l="__l" u-p="{{s}}">再次购买</up-button></view><view bindtap="{{v}}" style="width:80px"><up-button wx:if="{{t}}" u-s="{{['d']}}" u-i="e1c5d592-5" bind:__l="__l" u-p="{{t}}">查看详情</up-button></view></view></view>
|
|
@ -0,0 +1,93 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.shop-item {
|
||||
width: 710rpx;
|
||||
margin-bottom: 20rpx;
|
||||
background-color: #fff;
|
||||
border-radius: 14rpx;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.shop-item .item-title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.shop-item .item-body {
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
.shop-item .item-body .body-content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
color: #989898;
|
||||
}
|
||||
.shop-item .item-body .body-content .image {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
.shop-item .item-body .body-content .title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 28rpx;
|
||||
color: #444;
|
||||
}
|
||||
.shop-item .item-body .body-content .tips {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
font-size: 24rpx;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.shop-item .item-body .all {
|
||||
text-align: right;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.shop-item .item-body .all text {
|
||||
color: #F55726;
|
||||
}
|
||||
.shop-item .item-btn {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
.shop-item .item-btn view {
|
||||
width: 80rpx;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
.shop-item .item-close {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-color: #F6F6F6;
|
||||
padding: 15rpx;
|
||||
border-radius: 14rpx;
|
||||
}
|
||||
.shop-item .item-close .title {
|
||||
display: flex;
|
||||
}
|
||||
.shop-item .item-close .title .type {
|
||||
font-weight: 600;
|
||||
margin-right: 20rpx;
|
||||
}
|
|
@ -0,0 +1,161 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const api_order = require("../../api/order.js");
|
||||
require("../../utils/request.js");
|
||||
require("../../config/app.js");
|
||||
require("../../store/user.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_search2 = common_vendor.resolveComponent("up-search");
|
||||
const _easycom_up_tabs2 = common_vendor.resolveComponent("up-tabs");
|
||||
const _easycom_up_sticky2 = common_vendor.resolveComponent("up-sticky");
|
||||
const _easycom_up_empty2 = common_vendor.resolveComponent("up-empty");
|
||||
(_easycom_up_search2 + _easycom_up_tabs2 + _easycom_up_sticky2 + _easycom_up_empty2)();
|
||||
}
|
||||
const _easycom_up_search = () => "../../uni_modules/uview-plus/components/u-search/u-search.js";
|
||||
const _easycom_up_tabs = () => "../../uni_modules/uview-plus/components/u-tabs/u-tabs.js";
|
||||
const _easycom_up_sticky = () => "../../uni_modules/uview-plus/components/u-sticky/u-sticky.js";
|
||||
const _easycom_up_empty = () => "../../uni_modules/uview-plus/components/u-empty/u-empty.js";
|
||||
if (!Math) {
|
||||
(_easycom_up_search + _easycom_up_tabs + _easycom_up_sticky + good + _easycom_up_empty + orderCanclePopup)();
|
||||
}
|
||||
const good = () => "./component/good.js";
|
||||
const orderCanclePopup = () => "../../components/orderCanclePopup.js";
|
||||
const _sfc_main = {
|
||||
__name: "order",
|
||||
setup(__props) {
|
||||
const tabsActive = common_vendor.ref(0);
|
||||
const changeTab = ({ index }) => {
|
||||
tabsActive.value = index;
|
||||
swiperCurrent.value = index;
|
||||
};
|
||||
const tablist = common_vendor.ref([
|
||||
{ name: "全部" },
|
||||
{ name: "待付款" },
|
||||
{ name: "待发货" },
|
||||
{ name: "待收货" }
|
||||
// { name: '退款/售后' },
|
||||
]);
|
||||
const swiperCurrent = common_vendor.ref(0);
|
||||
const animationfinish = ({ detail: { current } }) => {
|
||||
swiperCurrent.value = current;
|
||||
tabsActive.value = current;
|
||||
};
|
||||
const showCancel = common_vendor.ref(false);
|
||||
const submitCancel = (e) => {
|
||||
showCancel.value = false;
|
||||
console.log(e);
|
||||
common_vendor.index.showToast({
|
||||
title: "取消成功",
|
||||
icon: "none"
|
||||
});
|
||||
};
|
||||
const cancleOrder = (e) => {
|
||||
console.log(e);
|
||||
showCancel.value = true;
|
||||
};
|
||||
const where = common_vendor.ref({
|
||||
page_no: 1,
|
||||
page_size: 25,
|
||||
keyword: ""
|
||||
});
|
||||
const orderList = common_vendor.ref([
|
||||
[],
|
||||
[],
|
||||
[],
|
||||
[]
|
||||
]);
|
||||
const getOrderList = (type = 0, status = "", paid = 1) => {
|
||||
api_order.orderListApi({
|
||||
...where.value,
|
||||
status,
|
||||
paid
|
||||
}).then((res) => {
|
||||
orderList.value[type] = res.data.lists;
|
||||
});
|
||||
};
|
||||
const searchOn = () => {
|
||||
orderList.value[+swiperCurrent.value] = [];
|
||||
if (swiperCurrent.value == 0)
|
||||
getOrderList(0);
|
||||
if (swiperCurrent.value == 1)
|
||||
getOrderList(1, "", 0);
|
||||
if (swiperCurrent.value == 2)
|
||||
getOrderList(2, 0);
|
||||
if (swiperCurrent.value == 3)
|
||||
getOrderList(3, 1);
|
||||
};
|
||||
common_vendor.onLoad((options) => {
|
||||
if (options.type) {
|
||||
tabsActive.value = +options.type;
|
||||
swiperCurrent.value = +options.type;
|
||||
}
|
||||
getOrderList(0);
|
||||
getOrderList(1, "", 0);
|
||||
getOrderList(2, 0);
|
||||
getOrderList(3, 1);
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
return {
|
||||
a: common_vendor.o(searchOn),
|
||||
b: common_vendor.o(searchOn),
|
||||
c: common_vendor.o(searchOn),
|
||||
d: common_vendor.o(($event) => where.value.keyword = $event),
|
||||
e: common_vendor.p({
|
||||
shape: "round",
|
||||
actionStyle: {
|
||||
color: "#20b128"
|
||||
},
|
||||
modelValue: where.value.keyword
|
||||
}),
|
||||
f: common_vendor.o(changeTab),
|
||||
g: common_vendor.p({
|
||||
current: tabsActive.value,
|
||||
list: tablist.value,
|
||||
lineColor: "#20b128",
|
||||
scrollable: false,
|
||||
activeStyle: {
|
||||
color: "#20b128",
|
||||
fontWeight: "bold"
|
||||
}
|
||||
}),
|
||||
h: common_vendor.p({
|
||||
bgColor: "#fff"
|
||||
}),
|
||||
i: common_vendor.f(orderList.value, (list, k, i0) => {
|
||||
return common_vendor.e({
|
||||
a: list.length > 0
|
||||
}, list.length > 0 ? {
|
||||
b: common_vendor.f(list, (item, index, i1) => {
|
||||
return {
|
||||
a: index,
|
||||
b: common_vendor.o(cancleOrder, index),
|
||||
c: "aea1ad54-3-" + i0 + "-" + i1,
|
||||
d: common_vendor.p({
|
||||
datas: item,
|
||||
type: k
|
||||
})
|
||||
};
|
||||
})
|
||||
} : {
|
||||
c: "aea1ad54-4-" + i0,
|
||||
d: common_vendor.p({
|
||||
text: "订单空空如也",
|
||||
icon: "https://lihai001.oss-cn-chengdu.aliyuncs.com/def/29955202404260944367594.png"
|
||||
})
|
||||
}, {
|
||||
e: k
|
||||
});
|
||||
}),
|
||||
j: swiperCurrent.value,
|
||||
k: common_vendor.o(animationfinish),
|
||||
l: common_vendor.o(($event) => showCancel.value = false),
|
||||
m: common_vendor.o(submitCancel),
|
||||
n: common_vendor.p({
|
||||
show: showCancel.value
|
||||
})
|
||||
};
|
||||
};
|
||||
}
|
||||
};
|
||||
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/里海数字乡村/purchase-let/pagesOrder/order/order.vue"]]);
|
||||
wx.createPage(MiniProgramPage);
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"navigationBarTitleText": "我的订单",
|
||||
"enablePullDownRefresh": false,
|
||||
"usingComponents": {
|
||||
"up-search": "../../uni_modules/uview-plus/components/u-search/u-search",
|
||||
"up-tabs": "../../uni_modules/uview-plus/components/u-tabs/u-tabs",
|
||||
"up-sticky": "../../uni_modules/uview-plus/components/u-sticky/u-sticky",
|
||||
"up-empty": "../../uni_modules/uview-plus/components/u-empty/u-empty",
|
||||
"good": "./component/good",
|
||||
"order-cancle-popup": "../../components/orderCanclePopup"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view><up-sticky wx:if="{{h}}" u-s="{{['d']}}" u-i="aea1ad54-0" bind:__l="__l" u-p="{{h}}"><view style="padding:10rpx 20rpx 0 20rpx"><up-search wx:if="{{e}}" bindcustom="{{a}}" bindsearch="{{b}}" bindclear="{{c}}" u-i="aea1ad54-1,aea1ad54-0" bind:__l="__l" bindupdateModelValue="{{d}}" u-p="{{e}}"></up-search></view><up-tabs wx:if="{{g}}" bindchange="{{f}}" u-i="aea1ad54-2,aea1ad54-0" bind:__l="__l" u-p="{{g}}"></up-tabs></up-sticky><swiper class="swiper-box" current="{{j}}" bindanimationfinish="{{k}}"><swiper-item wx:for="{{i}}" wx:for-item="list" wx:key="e" class="swiper-item"><scroll-view scroll-y style="height:100%;width:100%"><view class="page-box"><view wx:if="{{list.a}}" class="list"><good wx:for="{{list.b}}" wx:for-item="item" wx:key="a" bindcancleOrder="{{item.b}}" u-i="{{item.c}}" bind:__l="__l" u-p="{{item.d}}"></good></view><view wx:else style="padding-top:100rpx"><up-empty wx:if="{{list.d}}" u-i="{{list.c}}" bind:__l="__l" u-p="{{list.d}}"></up-empty></view><view style="width:100%;height:200rpx"></view></view></scroll-view></swiper-item></swiper><order-cancle-popup wx:if="{{n}}" bindclose="{{l}}" bindchange="{{m}}" u-i="aea1ad54-5" bind:__l="__l" u-p="{{n}}"/></view>
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.swiper-box {
|
||||
flex: 1;
|
||||
height: calc(100vh - var(--window-top) - 140rpx);
|
||||
width: 100%;
|
||||
}
|
||||
.swiper-box .swiper-item {
|
||||
height: 100%;
|
||||
}
|
||||
.page-box {
|
||||
margin: 20rpx;
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"description": "项目配置文件。",
|
||||
"packOptions": {
|
||||
"ignore": [],
|
||||
"include": []
|
||||
},
|
||||
"setting": {
|
||||
"urlCheck": false,
|
||||
"es6": true,
|
||||
"postcss": false,
|
||||
"minified": false,
|
||||
"newFeature": true,
|
||||
"bigPackageSizeSupport": true,
|
||||
"condition": false,
|
||||
"ignoreUploadUnusedFiles": true,
|
||||
"babelSetting": {
|
||||
"ignore": [],
|
||||
"disablePlugins": [],
|
||||
"outputPath": ""
|
||||
}
|
||||
},
|
||||
"compileType": "miniprogram",
|
||||
"libVersion": "3.4.2",
|
||||
"appid": "wxdee751952c8c2027",
|
||||
"projectname": "purchase-let",
|
||||
"condition": {
|
||||
"search": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
},
|
||||
"conversation": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
},
|
||||
"game": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
},
|
||||
"miniprogram": {
|
||||
"current": -1,
|
||||
"list": []
|
||||
}
|
||||
},
|
||||
"editorSetting": {
|
||||
"tabIndent": "insertSpaces",
|
||||
"tabSize": 2
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||
"projectname": "purchase-let",
|
||||
"setting": {
|
||||
"compileHotReLoad": true
|
||||
},
|
||||
"condition": {
|
||||
"miniprogram": {
|
||||
"list": [
|
||||
{
|
||||
"name": "",
|
||||
"pathName": "pagesOrder/detail/detail",
|
||||
"query": "type=0&id=106",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 720 B |
After Width: | Height: | Size: 718 B |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 618 B |
After Width: | Height: | Size: 657 B |
After Width: | Height: | Size: 679 B |
After Width: | Height: | Size: 723 B |
After Width: | Height: | Size: 718 B |
After Width: | Height: | Size: 745 B |
|
@ -0,0 +1,16 @@
|
|||
"use strict";
|
||||
const common_vendor = require("../common/vendor.js");
|
||||
const useUserStore = common_vendor.defineStore("user", () => {
|
||||
const userInfo = common_vendor.ref(common_vendor.index.getStorageSync("userInfo") || {});
|
||||
const setUserInfo = (data) => {
|
||||
userInfo.value = data;
|
||||
common_vendor.index.setStorageSync("userInfo", data);
|
||||
};
|
||||
const token = common_vendor.ref(common_vendor.index.getStorageSync("token") || "");
|
||||
const setToken = (data) => {
|
||||
token.value = data;
|
||||
common_vendor.index.setStorageSync("token", data);
|
||||
};
|
||||
return { userInfo, setUserInfo, token, setToken };
|
||||
});
|
||||
exports.useUserStore = useUserStore;
|
82
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-avatar/props.js
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
|
||||
const uni_modules_uviewPlus_libs_function_test = require("../../libs/function/test.js");
|
||||
const props = {
|
||||
props: {
|
||||
// 头像图片路径(不能为相对路径)
|
||||
src: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.src
|
||||
},
|
||||
// 头像形状,circle-圆形,square-方形
|
||||
shape: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.shape
|
||||
},
|
||||
// 头像尺寸
|
||||
size: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.size
|
||||
},
|
||||
// 裁剪模式
|
||||
mode: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.mode
|
||||
},
|
||||
// 显示的文字
|
||||
text: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.text
|
||||
},
|
||||
// 背景色
|
||||
bgColor: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.bgColor
|
||||
},
|
||||
// 文字颜色
|
||||
color: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.color
|
||||
},
|
||||
// 文字大小
|
||||
fontSize: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.fontSize
|
||||
},
|
||||
// 显示的图标
|
||||
icon: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.icon
|
||||
},
|
||||
// 显示小程序头像,只对百度,微信,QQ小程序有效
|
||||
mpAvatar: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.mpAvatar
|
||||
},
|
||||
// 是否使用随机背景色
|
||||
randomBgColor: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.randomBgColor
|
||||
},
|
||||
// 加载失败的默认头像(组件有内置默认图片)
|
||||
defaultUrl: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.defaultUrl
|
||||
},
|
||||
// 如果配置了randomBgColor为true,且配置了此值,则从默认的背景色数组中取出对应索引的颜色值,取值0-19之间
|
||||
colorIndex: {
|
||||
type: [String, Number],
|
||||
// 校验参数规则,索引在0-19之间
|
||||
validator(n) {
|
||||
return uni_modules_uviewPlus_libs_function_test.test.range(n, [0, 19]) || n === "";
|
||||
},
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.colorIndex
|
||||
},
|
||||
// 组件标识符
|
||||
name: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.avatar.name
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.props = props;
|
234
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-avatar/u-avatar.js
vendored
Normal file
|
@ -0,0 +1,234 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_components_uAvatar_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 base64Avatar = "data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjREMEQwRkY0RjgwNDExRUE5OTY2RDgxODY3NkJFODMxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjREMEQwRkY1RjgwNDExRUE5OTY2RDgxODY3NkJFODMxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEQwRDBGRjJGODA0MTFFQTk5NjZEODE4Njc2QkU4MzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEQwRDBGRjNGODA0MTFFQTk5NjZEODE4Njc2QkU4MzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCADIAMgDAREAAhEBAxEB/8QAcQABAQEAAwEBAAAAAAAAAAAAAAUEAQMGAgcBAQAAAAAAAAAAAAAAAAAAAAAQAAIBAwICBgkDBQAAAAAAAAABAhEDBCEFMVFBYXGREiKBscHRMkJSEyOh4XLxYjNDFBEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A/fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHbHFyZ/Dam+yLA+Z2L0Pjtyj2poD4AAAAAAAAAAAAAAAAAAAAAAAAKWFs9y6lcvvwQeqj8z9wFaziY1n/HbUX9XF97A7QAGXI23EvJ1goyfzR0YEfN269jeZ+a03pNe0DIAAAAAAAAAAAAAAAAAAAACvtO3RcVkXlWutuL9YFYAAAAAOJRjKLjJVi9GmB5/csH/mu1h/in8PU+QGMAAAAAAAAAAAAAAAAAAaMDG/6MmMH8C80+xAelSSVFolwQAAAAAAAHVlWI37ErUulaPk+hgeYnCUJuElSUXRrrQHAAAAAAAAAAAAAAAAABa2Oz4bM7r4zdF2ICmAAAAAAAAAg7zZ8GX41wuJP0rRgYAAAAAAAAAAAAAAAAAD0m2R8ODaXU33tsDSAAAAAAAAAlb9HyWZcnJd9PcBHAAAAAAAAAAAAAAAAAPS7e64Vn+KA0AAAAAAAAAJm+v8Ftf3ewCKAAAAAAAAAAAAAAAAAX9muqeGo9NttP06+0DcAAAAAAAAAjb7dTu2ra+VOT9P8AQCWAAAAAAAAAAAAAAAAAUNmyPt5Ltv4bui/kuAF0AAAAAAADiUlGLlJ0SVW+oDzOXfd/Ind6JPRdS0QHSAAAAAAAAAAAAAAAAAE2nVaNcGB6Lbs6OTao9LsF51z60BrAAAAAABJ3jOVHjW3r/sa9QEgAAAAAAAAAAAAAAAAAAAPu1duWriuW34ZR4MC9hbnZyEoy8l36XwfYBsAAADaSq9EuLAlZ+7xSdrGdW9Hc5dgEdtt1erfFgAAAAAAAAAAAAAAAAADVjbblX6NR8MH80tEBRs7HYivyzlN8lovaBPzduvY0m6eK10TXtAyAarO55lpJK54orolr+4GqO/Xaea1FvqbXvA+Z77kNeW3GPbV+4DJfzcm/pcm3H6Vou5AdAFLC2ed2Pjv1txa8sV8T6wOL+yZEKu1JXFy4MDBOE4ScZxcZLinoB8gAAAAAAAAAAAB242LeyJ+C3GvN9C7QLmJtePYpKS+5c+p8F2IDYAANJqj1T4oCfk7Nj3G5Wn9qXJax7gJ93Z82D8sVNc4v30A6Xg5i42Z+iLfqARwcyT0sz9MWvWBps7LlTf5Grce9/oBTxdtxseklHxT+uWr9AGoAB138ezfj4bsFJdD6V2MCPm7RdtJzs1uW1xXzL3gTgAAAAAAAAADRhYc8q74I6RWs5ckB6GxYtWLat21SK731sDsAAAAAAAAAAAAAAAASt021NO/YjrxuQXT1oCOAAAAAAABzGLlJRSq26JAelwsWONYjbXxcZvmwO8AAAAAAAAAAAAAAAAAAef3TEWPkVivx3NY9T6UBiAAAAAABo2+VmGXblddIJ8eivRUD0oAAAAAAAAAAAAAAAAAAAYt4tKeFKVNYNSXfRgefAAAAAAAAr7VuSSWPedKaW5v1MCsAAAAAAAAAAAAAAAAAAIe6bj96Ts2n+JPzSXzP3ATgAAAAAAAAFbbt1UUrOQ9FpC4/UwK6aaqtU+DAAAAAAAAAAAAAAA4lKMIuUmoxWrb4ARNx3R3q2rLpa4Sl0y/YCcAAAAAAAAAAANmFud7G8r89r6X0dgFvGzLGRGtuWvTF6NAdwAAAAAAAAAAAy5W442PVN+K59EePp5ARMvOv5MvO6QXCC4AZwAAAAAAAAAAAAAcxlKLUotprg1owN+PvORborq+7Hnwl3gUbO74VzRydt8pKn68ANcJwmqwkpLmnUDkAAAAfNy9atqtyagut0AxXt5xIV8Fbj6lRd7Am5G65V6qUvtwfyx94GMAAAAAAAAAAAAAAAAAAAOU2nVOj5gdsc3LiqRvTpyqwOxbnnrhdfpSfrQB7pnv/AGvuS9gHXPMy5/Fem1yq0v0A6W29XqwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAf//Z";
|
||||
const _sfc_main = {
|
||||
name: "u-avatar",
|
||||
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uAvatar_props.props],
|
||||
data() {
|
||||
return {
|
||||
// 如果配置randomBgColor参数为true,在图标或者文字的模式下,会随机从中取出一个颜色值当做背景色
|
||||
colors: [
|
||||
"#ffb34b",
|
||||
"#f2bba9",
|
||||
"#f7a196",
|
||||
"#f18080",
|
||||
"#88a867",
|
||||
"#bfbf39",
|
||||
"#89c152",
|
||||
"#94d554",
|
||||
"#f19ec2",
|
||||
"#afaae4",
|
||||
"#e1b0df",
|
||||
"#c38cc1",
|
||||
"#72dcdc",
|
||||
"#9acdcb",
|
||||
"#77b1cc",
|
||||
"#448aca",
|
||||
"#86cefa",
|
||||
"#98d1ee",
|
||||
"#73d1f1",
|
||||
"#80a7dc"
|
||||
],
|
||||
avatarUrl: this.src,
|
||||
allowMp: false
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
// 监听头像src的变化,赋值给内部的avatarUrl变量,因为图片加载失败时,需要修改图片的src为默认值
|
||||
// 而组件内部不能直接修改props的值,所以需要一个中间变量
|
||||
src: {
|
||||
immediate: true,
|
||||
handler(newVal) {
|
||||
this.avatarUrl = newVal;
|
||||
if (!newVal) {
|
||||
this.errorHandler();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
imageStyle() {
|
||||
const style = {};
|
||||
return style;
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
},
|
||||
emits: ["click"],
|
||||
methods: {
|
||||
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle,
|
||||
addUnit: uni_modules_uviewPlus_libs_function_index.addUnit,
|
||||
random: uni_modules_uviewPlus_libs_function_index.random,
|
||||
init() {
|
||||
this.allowMp = true;
|
||||
},
|
||||
// 判断传入的name属性,是否图片路径,只要带有"/"均认为是图片形式
|
||||
isImg() {
|
||||
return this.src.indexOf("/") !== -1;
|
||||
},
|
||||
// 图片加载时失败时触发
|
||||
errorHandler() {
|
||||
this.avatarUrl = this.defaultUrl || base64Avatar;
|
||||
},
|
||||
clickHandler() {
|
||||
this.$emit("click", this.name);
|
||||
}
|
||||
}
|
||||
};
|
||||
if (!Array) {
|
||||
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
|
||||
const _easycom_up_text2 = common_vendor.resolveComponent("up-text");
|
||||
(_easycom_u_icon2 + _easycom_up_text2)();
|
||||
}
|
||||
const _easycom_u_icon = () => "../u-icon/u-icon.js";
|
||||
const _easycom_up_text = () => "../u-text/u-text.js";
|
||||
if (!Math) {
|
||||
(_easycom_u_icon + _easycom_up_text)();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: _ctx.mpAvatar && $data.allowMp
|
||||
}, _ctx.mpAvatar && $data.allowMp ? {
|
||||
b: common_vendor.s({
|
||||
width: $options.addUnit(_ctx.size),
|
||||
height: $options.addUnit(_ctx.size)
|
||||
})
|
||||
} : {}, {
|
||||
c: _ctx.mpAvatar && $data.allowMp
|
||||
}, _ctx.mpAvatar && $data.allowMp ? {} : _ctx.icon ? {
|
||||
e: common_vendor.p({
|
||||
name: _ctx.icon,
|
||||
size: _ctx.fontSize,
|
||||
color: _ctx.color
|
||||
})
|
||||
} : _ctx.text ? {
|
||||
g: common_vendor.p({
|
||||
text: _ctx.text,
|
||||
size: _ctx.fontSize,
|
||||
color: _ctx.color,
|
||||
align: "center",
|
||||
customStyle: "justify-content: center"
|
||||
})
|
||||
} : {
|
||||
h: common_vendor.n(`u-avatar__image--${_ctx.shape}`),
|
||||
i: $data.avatarUrl || _ctx.defaultUrl,
|
||||
j: _ctx.mode,
|
||||
k: common_vendor.o((...args) => $options.errorHandler && $options.errorHandler(...args)),
|
||||
l: common_vendor.s({
|
||||
width: $options.addUnit(_ctx.size),
|
||||
height: $options.addUnit(_ctx.size)
|
||||
})
|
||||
}, {
|
||||
d: _ctx.icon,
|
||||
f: _ctx.text,
|
||||
m: common_vendor.n(`u-avatar--${_ctx.shape}`),
|
||||
n: common_vendor.s({
|
||||
backgroundColor: _ctx.text || _ctx.icon ? _ctx.randomBgColor ? $data.colors[_ctx.colorIndex !== "" ? _ctx.colorIndex : $options.random(0, 19)] : _ctx.bgColor : "transparent",
|
||||
width: $options.addUnit(_ctx.size),
|
||||
height: $options.addUnit(_ctx.size)
|
||||
}),
|
||||
o: common_vendor.s($options.addStyle(_ctx.customStyle)),
|
||||
p: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args))
|
||||
});
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-34d954f9"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-avatar/u-avatar.vue"]]);
|
||||
wx.createComponent(Component);
|
7
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-avatar/u-avatar.json
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"u-icon": "../u-icon/u-icon",
|
||||
"up-text": "../u-text/u-text"
|
||||
}
|
||||
}
|
1
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-avatar/u-avatar.wxml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<view class="{{['u-avatar', 'data-v-34d954f9', m]}}" style="{{n + ';' + o}}" bindtap="{{p}}"><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else><open-data wx:if="{{a}}" class="data-v-34d954f9" type="userAvatarUrl" style="{{b}}"/><block wx:if="{{c}}"></block><u-icon wx:elif="{{d}}" class="data-v-34d954f9" u-i="34d954f9-0" bind:__l="__l" u-p="{{e}}"></u-icon><up-text wx:elif="{{f}}" class="data-v-34d954f9" u-i="34d954f9-1" bind:__l="__l" u-p="{{g}}"></up-text><image wx:else class="{{['u-avatar__image', 'data-v-34d954f9', h]}}" src="{{i}}" mode="{{j}}" binderror="{{k}}" style="{{l}}"></image></block></view>
|
60
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-avatar/u-avatar.wxss
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.u-empty.data-v-34d954f9,
|
||||
.u-empty__wrap.data-v-34d954f9,
|
||||
.u-tabs.data-v-34d954f9,
|
||||
.u-tabs__wrapper.data-v-34d954f9,
|
||||
.u-tabs__wrapper__scroll-view-wrapper.data-v-34d954f9,
|
||||
.u-tabs__wrapper__scroll-view.data-v-34d954f9,
|
||||
.u-tabs__wrapper__nav.data-v-34d954f9,
|
||||
.u-tabs__wrapper__nav__line.data-v-34d954f9 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
flex-basis: auto;
|
||||
align-items: stretch;
|
||||
align-content: flex-start;
|
||||
}
|
||||
.u-avatar.data-v-34d954f9 {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.u-avatar--circle.data-v-34d954f9 {
|
||||
border-radius: 100px;
|
||||
}
|
||||
.u-avatar--square.data-v-34d954f9 {
|
||||
border-radius: 4px;
|
||||
}
|
||||
.u-avatar__image--circle.data-v-34d954f9 {
|
||||
border-radius: 100px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.u-avatar__image--square.data-v-34d954f9 {
|
||||
border-radius: 4px;
|
||||
}
|
80
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-badge/props.js
vendored
Normal file
|
@ -0,0 +1,80 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
|
||||
const props = {
|
||||
props: {
|
||||
// 是否显示圆点
|
||||
isDot: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.isDot
|
||||
},
|
||||
// 显示的内容
|
||||
value: {
|
||||
type: [Number, String],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.value
|
||||
},
|
||||
// 显示的内容
|
||||
modelValue: {
|
||||
type: [Number, String],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.modelValue
|
||||
},
|
||||
// 是否显示
|
||||
show: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.show
|
||||
},
|
||||
// 最大值,超过最大值会显示 '{max}+'
|
||||
max: {
|
||||
type: [Number, String],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.max
|
||||
},
|
||||
// 主题类型,error|warning|success|primary
|
||||
type: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.type
|
||||
},
|
||||
// 当数值为 0 时,是否展示 Badge
|
||||
showZero: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.showZero
|
||||
},
|
||||
// 背景颜色,优先级比type高,如设置,type参数会失效
|
||||
bgColor: {
|
||||
type: [String, null],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.bgColor
|
||||
},
|
||||
// 字体颜色
|
||||
color: {
|
||||
type: [String, null],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.color
|
||||
},
|
||||
// 徽标形状,circle-四角均为圆角,horn-左下角为直角
|
||||
shape: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.shape
|
||||
},
|
||||
// 设置数字的显示方式,overflow|ellipsis|limit
|
||||
// overflow会根据max字段判断,超出显示`${max}+`
|
||||
// ellipsis会根据max判断,超出显示`${max}...`
|
||||
// limit会依据1000作为判断条件,超出1000,显示`${value/1000}K`,比如2.2k、3.34w,最多保留2位小数
|
||||
numberType: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.numberType
|
||||
},
|
||||
// 设置badge的位置偏移,格式为 [x, y],也即设置的为top和right的值,absolute为true时有效
|
||||
offset: {
|
||||
type: Array,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.offset
|
||||
},
|
||||
// 是否反转背景和字体颜色
|
||||
inverted: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.inverted
|
||||
},
|
||||
// 是否绝对定位
|
||||
absolute: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.badge.absolute
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.props = props;
|
161
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-badge/u-badge.js
vendored
Normal file
|
@ -0,0 +1,161 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_components_uBadge_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-badge",
|
||||
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_components_uBadge_props.props, uni_modules_uviewPlus_libs_mixin_mixin.mixin],
|
||||
computed: {
|
||||
// 是否将badge中心与父组件右上角重合
|
||||
boxStyle() {
|
||||
let style = {};
|
||||
return style;
|
||||
},
|
||||
// 整个组件的样式
|
||||
badgeStyle() {
|
||||
const style = {};
|
||||
if (this.color) {
|
||||
style.color = this.color;
|
||||
}
|
||||
if (this.bgColor && !this.inverted) {
|
||||
style.backgroundColor = this.bgColor;
|
||||
}
|
||||
if (this.absolute) {
|
||||
style.position = "absolute";
|
||||
if (this.offset.length) {
|
||||
const top = this.offset[0];
|
||||
const right = this.offset[1] || top;
|
||||
style.top = uni_modules_uviewPlus_libs_function_index.addUnit(top);
|
||||
style.right = uni_modules_uviewPlus_libs_function_index.addUnit(right);
|
||||
}
|
||||
}
|
||||
return style;
|
||||
},
|
||||
showValue() {
|
||||
switch (this.numberType) {
|
||||
case "overflow":
|
||||
return Number(this.value) > Number(this.max) ? this.max + "+" : this.value;
|
||||
case "ellipsis":
|
||||
return Number(this.value) > Number(this.max) ? "..." : this.value;
|
||||
case "limit":
|
||||
return Number(this.value) > 999 ? Number(this.value) >= 9999 ? Math.floor(this.value / 1e4 * 100) / 100 + "w" : Math.floor(this.value / 1e3 * 100) / 100 + "k" : this.value;
|
||||
default:
|
||||
return Number(this.value);
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle
|
||||
}
|
||||
};
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: _ctx.show && ((Number(_ctx.value) === 0 ? _ctx.showZero : true) || _ctx.isDot)
|
||||
}, _ctx.show && ((Number(_ctx.value) === 0 ? _ctx.showZero : true) || _ctx.isDot) ? {
|
||||
b: common_vendor.t(_ctx.isDot ? "" : $options.showValue),
|
||||
c: common_vendor.n(_ctx.isDot ? "u-badge--dot" : "u-badge--not-dot"),
|
||||
d: common_vendor.n(_ctx.inverted && "u-badge--inverted"),
|
||||
e: common_vendor.n(_ctx.shape === "horn" && "u-badge--horn"),
|
||||
f: common_vendor.n(`u-badge--${_ctx.type}${_ctx.inverted ? "--inverted" : ""}`),
|
||||
g: common_vendor.s($options.addStyle(_ctx.customStyle)),
|
||||
h: common_vendor.s($options.badgeStyle)
|
||||
} : {});
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-06cca9b7"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-badge/u-badge.vue"]]);
|
||||
wx.createComponent(Component);
|
4
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-badge/u-badge.json
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
1
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-badge/u-badge.wxml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<text wx:if="{{a}}" class="{{[c, d, e, f, 'u-badge', 'data-v-06cca9b7']}}" style="{{g + ';' + h}}">{{b}}</text>
|
96
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-badge/u-badge.wxss
vendored
Normal file
|
@ -0,0 +1,96 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.u-empty.data-v-06cca9b7,
|
||||
.u-empty__wrap.data-v-06cca9b7,
|
||||
.u-tabs.data-v-06cca9b7,
|
||||
.u-tabs__wrapper.data-v-06cca9b7,
|
||||
.u-tabs__wrapper__scroll-view-wrapper.data-v-06cca9b7,
|
||||
.u-tabs__wrapper__scroll-view.data-v-06cca9b7,
|
||||
.u-tabs__wrapper__nav.data-v-06cca9b7,
|
||||
.u-tabs__wrapper__nav__line.data-v-06cca9b7 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
flex-basis: auto;
|
||||
align-items: stretch;
|
||||
align-content: flex-start;
|
||||
}
|
||||
.u-badge.data-v-06cca9b7 {
|
||||
border-top-right-radius: 100px;
|
||||
border-top-left-radius: 100px;
|
||||
border-bottom-left-radius: 100px;
|
||||
border-bottom-right-radius: 100px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
line-height: 11px;
|
||||
text-align: center;
|
||||
font-size: 11px;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.u-badge--dot.data-v-06cca9b7 {
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
}
|
||||
.u-badge--inverted.data-v-06cca9b7 {
|
||||
font-size: 13px;
|
||||
}
|
||||
.u-badge--not-dot.data-v-06cca9b7 {
|
||||
padding: 2px 5px;
|
||||
}
|
||||
.u-badge--horn.data-v-06cca9b7 {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
.u-badge--primary.data-v-06cca9b7 {
|
||||
background-color: #3c9cff;
|
||||
}
|
||||
.u-badge--primary--inverted.data-v-06cca9b7 {
|
||||
color: #3c9cff;
|
||||
}
|
||||
.u-badge--error.data-v-06cca9b7 {
|
||||
background-color: #f56c6c;
|
||||
}
|
||||
.u-badge--error--inverted.data-v-06cca9b7 {
|
||||
color: #f56c6c;
|
||||
}
|
||||
.u-badge--success.data-v-06cca9b7 {
|
||||
background-color: #5ac725;
|
||||
}
|
||||
.u-badge--success--inverted.data-v-06cca9b7 {
|
||||
color: #5ac725;
|
||||
}
|
||||
.u-badge--info.data-v-06cca9b7 {
|
||||
background-color: #909399;
|
||||
}
|
||||
.u-badge--info--inverted.data-v-06cca9b7 {
|
||||
color: #909399;
|
||||
}
|
||||
.u-badge--warning.data-v-06cca9b7 {
|
||||
background-color: #f9ae3d;
|
||||
}
|
||||
.u-badge--warning--inverted.data-v-06cca9b7 {
|
||||
color: #f9ae3d;
|
||||
}
|
155
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-button/props.js
vendored
Normal file
|
@ -0,0 +1,155 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
|
||||
const props = {
|
||||
props: {
|
||||
// 是否细边框
|
||||
hairline: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.hairline
|
||||
},
|
||||
// 按钮的预置样式,info,primary,error,warning,success
|
||||
type: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.type
|
||||
},
|
||||
// 按钮尺寸,large,normal,small,mini
|
||||
size: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.size
|
||||
},
|
||||
// 按钮形状,circle(两边为半圆),square(带圆角)
|
||||
shape: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.shape
|
||||
},
|
||||
// 按钮是否镂空
|
||||
plain: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.plain
|
||||
},
|
||||
// 是否禁止状态
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.disabled
|
||||
},
|
||||
// 是否加载中
|
||||
loading: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.loading
|
||||
},
|
||||
// 加载中提示文字
|
||||
loadingText: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.loadingText
|
||||
},
|
||||
// 加载状态图标类型
|
||||
loadingMode: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.loadingMode
|
||||
},
|
||||
// 加载图标大小
|
||||
loadingSize: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.loadingSize
|
||||
},
|
||||
// 开放能力,具体请看uniapp稳定关于button组件部分说明
|
||||
// https://uniapp.dcloud.io/component/button
|
||||
openType: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.openType
|
||||
},
|
||||
// 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件
|
||||
// 取值为submit(提交表单),reset(重置表单)
|
||||
formType: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.formType
|
||||
},
|
||||
// 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效
|
||||
// 只微信小程序、QQ小程序有效
|
||||
appParameter: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.appParameter
|
||||
},
|
||||
// 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效
|
||||
hoverStopPropagation: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.hoverStopPropagation
|
||||
},
|
||||
// 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。只微信小程序有效
|
||||
lang: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.lang
|
||||
},
|
||||
// 会话来源,open-type="contact"时有效。只微信小程序有效
|
||||
sessionFrom: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.sessionFrom
|
||||
},
|
||||
// 会话内消息卡片标题,open-type="contact"时有效
|
||||
// 默认当前标题,只微信小程序有效
|
||||
sendMessageTitle: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.sendMessageTitle
|
||||
},
|
||||
// 会话内消息卡片点击跳转小程序路径,open-type="contact"时有效
|
||||
// 默认当前分享路径,只微信小程序有效
|
||||
sendMessagePath: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.sendMessagePath
|
||||
},
|
||||
// 会话内消息卡片图片,open-type="contact"时有效
|
||||
// 默认当前页面截图,只微信小程序有效
|
||||
sendMessageImg: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.sendMessageImg
|
||||
},
|
||||
// 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示"可能要发送的小程序"提示,
|
||||
// 用户点击后可以快速发送小程序消息,open-type="contact"时有效
|
||||
showMessageCard: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.showMessageCard
|
||||
},
|
||||
// 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取
|
||||
dataName: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.dataName
|
||||
},
|
||||
// 节流,一定时间内只能触发一次
|
||||
throttleTime: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.throttleTime
|
||||
},
|
||||
// 按住后多久出现点击态,单位毫秒
|
||||
hoverStartTime: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.hoverStartTime
|
||||
},
|
||||
// 手指松开后点击态保留时间,单位毫秒
|
||||
hoverStayTime: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.hoverStayTime
|
||||
},
|
||||
// 按钮文字,之所以通过props传入,是因为slot传入的话
|
||||
// nvue中无法控制文字的样式
|
||||
text: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.text
|
||||
},
|
||||
// 按钮图标
|
||||
icon: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.icon
|
||||
},
|
||||
// 按钮图标
|
||||
iconColor: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.icon
|
||||
},
|
||||
// 按钮颜色,支持传入linear-gradient渐变色
|
||||
color: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.button.color
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.props = props;
|
300
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-button/u-button.js
vendored
Normal file
|
@ -0,0 +1,300 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_libs_mixin_button = require("../../libs/mixin/button.js");
|
||||
const uni_modules_uviewPlus_libs_mixin_openType = require("../../libs/mixin/openType.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_components_uButton_props = require("./props.js");
|
||||
const uni_modules_uviewPlus_libs_function_index = require("../../libs/function/index.js");
|
||||
const uni_modules_uviewPlus_libs_function_throttle = require("../../libs/function/throttle.js");
|
||||
const uni_modules_uviewPlus_libs_config_color = require("../../libs/config/color.js");
|
||||
const common_vendor = require("../../../../common/vendor.js");
|
||||
require("../../libs/function/test.js");
|
||||
require("../../libs/util/route.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/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-button",
|
||||
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_libs_mixin_button.button, uni_modules_uviewPlus_libs_mixin_openType.openType, uni_modules_uviewPlus_components_uButton_props.props],
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
computed: {
|
||||
// 生成bem风格的类名
|
||||
bemClass() {
|
||||
if (!this.color) {
|
||||
return this.bem(
|
||||
"button",
|
||||
["type", "shape", "size"],
|
||||
["disabled", "plain", "hairline"]
|
||||
);
|
||||
} else {
|
||||
return this.bem(
|
||||
"button",
|
||||
["shape", "size"],
|
||||
["disabled", "plain", "hairline"]
|
||||
);
|
||||
}
|
||||
},
|
||||
loadingColor() {
|
||||
if (this.plain) {
|
||||
return this.color ? this.color : uni_modules_uviewPlus_libs_config_color.color[`u-${this.type}`];
|
||||
}
|
||||
if (this.type === "info") {
|
||||
return "#c9c9c9";
|
||||
}
|
||||
return "rgb(200, 200, 200)";
|
||||
},
|
||||
iconColorCom() {
|
||||
if (this.iconColor)
|
||||
return this.iconColor;
|
||||
if (this.plain) {
|
||||
return this.color ? this.color : this.type;
|
||||
} else {
|
||||
return this.type === "info" ? "#000000" : "#ffffff";
|
||||
}
|
||||
},
|
||||
baseColor() {
|
||||
let style = {};
|
||||
if (this.color) {
|
||||
style.color = this.plain ? this.color : "white";
|
||||
if (!this.plain) {
|
||||
style["background-color"] = this.color;
|
||||
}
|
||||
if (this.color.indexOf("gradient") !== -1) {
|
||||
style.borderTopWidth = 0;
|
||||
style.borderRightWidth = 0;
|
||||
style.borderBottomWidth = 0;
|
||||
style.borderLeftWidth = 0;
|
||||
if (!this.plain) {
|
||||
style.backgroundImage = this.color;
|
||||
}
|
||||
} else {
|
||||
style.borderColor = this.color;
|
||||
style.borderWidth = "1px";
|
||||
style.borderStyle = "solid";
|
||||
}
|
||||
}
|
||||
return style;
|
||||
},
|
||||
// nvue版本按钮的字体不会继承父组件的颜色,需要对每一个text组件进行单独的设置
|
||||
nvueTextStyle() {
|
||||
let style = {};
|
||||
if (this.type === "info") {
|
||||
style.color = "#323233";
|
||||
}
|
||||
if (this.color) {
|
||||
style.color = this.plain ? this.color : "white";
|
||||
}
|
||||
style.fontSize = this.textSize + "px";
|
||||
return style;
|
||||
},
|
||||
// 字体大小
|
||||
textSize() {
|
||||
let fontSize = 14, { size } = this;
|
||||
if (size === "large")
|
||||
fontSize = 16;
|
||||
if (size === "normal")
|
||||
fontSize = 14;
|
||||
if (size === "small")
|
||||
fontSize = 12;
|
||||
if (size === "mini")
|
||||
fontSize = 10;
|
||||
return fontSize;
|
||||
}
|
||||
},
|
||||
emits: [
|
||||
"click",
|
||||
"getphonenumber",
|
||||
"getuserinfo",
|
||||
"error",
|
||||
"opensetting",
|
||||
"launchapp",
|
||||
"agreeprivacyauthorization"
|
||||
],
|
||||
methods: {
|
||||
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle,
|
||||
clickHandler() {
|
||||
if (!this.disabled && !this.loading) {
|
||||
uni_modules_uviewPlus_libs_function_throttle.throttle(() => {
|
||||
this.$emit("click");
|
||||
}, this.throttleTime);
|
||||
}
|
||||
},
|
||||
// 下面为对接uniapp官方按钮开放能力事件回调的对接
|
||||
getphonenumber(res) {
|
||||
this.$emit("getphonenumber", res);
|
||||
},
|
||||
getuserinfo(res) {
|
||||
this.$emit("getuserinfo", res);
|
||||
},
|
||||
error(res) {
|
||||
this.$emit("error", res);
|
||||
},
|
||||
opensetting(res) {
|
||||
this.$emit("opensetting", res);
|
||||
},
|
||||
launchapp(res) {
|
||||
this.$emit("launchapp", res);
|
||||
},
|
||||
agreeprivacyauthorization(res) {
|
||||
this.$emit("agreeprivacyauthorization", res);
|
||||
}
|
||||
}
|
||||
};
|
||||
if (!Array) {
|
||||
const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
|
||||
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
|
||||
(_easycom_u_loading_icon2 + _easycom_u_icon2)();
|
||||
}
|
||||
const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
|
||||
const _easycom_u_icon = () => "../u-icon/u-icon.js";
|
||||
if (!Math) {
|
||||
(_easycom_u_loading_icon + _easycom_u_icon)();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: _ctx.loading
|
||||
}, _ctx.loading ? {
|
||||
b: common_vendor.p({
|
||||
mode: _ctx.loadingMode,
|
||||
size: _ctx.loadingSize * 1.15,
|
||||
color: $options.loadingColor
|
||||
}),
|
||||
c: common_vendor.t(_ctx.loadingText || _ctx.text),
|
||||
d: common_vendor.s({
|
||||
fontSize: $options.textSize + "px"
|
||||
})
|
||||
} : common_vendor.e({
|
||||
e: _ctx.icon
|
||||
}, _ctx.icon ? {
|
||||
f: common_vendor.p({
|
||||
name: _ctx.icon,
|
||||
color: $options.iconColorCom,
|
||||
size: $options.textSize * 1.35,
|
||||
customStyle: {
|
||||
marginRight: "2px"
|
||||
}
|
||||
})
|
||||
} : {}, {
|
||||
g: common_vendor.t(_ctx.text),
|
||||
h: common_vendor.s({
|
||||
fontSize: $options.textSize + "px"
|
||||
})
|
||||
}), {
|
||||
i: Number(_ctx.hoverStartTime),
|
||||
j: Number(_ctx.hoverStayTime),
|
||||
k: _ctx.formType,
|
||||
l: _ctx.openType,
|
||||
m: _ctx.appParameter,
|
||||
n: _ctx.hoverStopPropagation,
|
||||
o: _ctx.sendMessageTitle,
|
||||
p: _ctx.sendMessagePath,
|
||||
q: _ctx.lang,
|
||||
r: _ctx.dataName,
|
||||
s: _ctx.sessionFrom,
|
||||
t: _ctx.sendMessageImg,
|
||||
v: _ctx.showMessageCard,
|
||||
w: common_vendor.o((...args) => $options.getphonenumber && $options.getphonenumber(...args)),
|
||||
x: common_vendor.o((...args) => $options.getuserinfo && $options.getuserinfo(...args)),
|
||||
y: common_vendor.o((...args) => $options.error && $options.error(...args)),
|
||||
z: common_vendor.o((...args) => $options.opensetting && $options.opensetting(...args)),
|
||||
A: common_vendor.o((...args) => $options.launchapp && $options.launchapp(...args)),
|
||||
B: common_vendor.o((...args) => $options.agreeprivacyauthorization && $options.agreeprivacyauthorization(...args)),
|
||||
C: !_ctx.disabled && !_ctx.loading ? "u-button--active" : "",
|
||||
D: common_vendor.s($options.baseColor),
|
||||
E: common_vendor.s($options.addStyle(_ctx.customStyle)),
|
||||
F: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
|
||||
G: common_vendor.n($options.bemClass)
|
||||
});
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-5ce41ee6"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-button/u-button.vue"]]);
|
||||
wx.createComponent(Component);
|
7
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-button/u-button.json
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"u-loading-icon": "../u-loading-icon/u-loading-icon",
|
||||
"u-icon": "../u-icon/u-icon"
|
||||
}
|
||||
}
|
1
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-button/u-button.wxml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<button hover-start-time="{{i}}" hover-stay-time="{{j}}" form-type="{{k}}" open-type="{{l}}" app-parameter="{{m}}" hover-stop-propagation="{{n}}" send-message-title="{{o}}" send-message-path="{{p}}" lang="{{q}}" data-name="{{r}}" session-from="{{s}}" send-message-img="{{t}}" show-message-card="{{v}}" bindgetphonenumber="{{w}}" bindgetuserinfo="{{x}}" binderror="{{y}}" bindopensetting="{{z}}" bindlaunchapp="{{A}}" bindagreeprivacyauthorization="{{B}}" hover-class="{{C}}" style="{{D + ';' + E}}" bindtap="{{F}}" class="{{['u-button', 'u-reset-button', 'data-v-5ce41ee6', G]}}"><block wx:if="{{a}}"><u-loading-icon wx:if="{{b}}" class="data-v-5ce41ee6" u-i="5ce41ee6-0" bind:__l="__l" u-p="{{b}}"></u-loading-icon><text class="u-button__loading-text data-v-5ce41ee6" style="{{d}}">{{c}}</text></block><block wx:else><u-icon wx:if="{{e}}" class="data-v-5ce41ee6" u-i="5ce41ee6-1" bind:__l="__l" u-p="{{f}}"></u-icon><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else><text class="u-button__text data-v-5ce41ee6" style="{{h}}">{{g}}</text></block></block></button>
|
188
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-button/u-button.wxss
vendored
Normal file
|
@ -0,0 +1,188 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.u-empty.data-v-5ce41ee6,
|
||||
.u-empty__wrap.data-v-5ce41ee6,
|
||||
.u-tabs.data-v-5ce41ee6,
|
||||
.u-tabs__wrapper.data-v-5ce41ee6,
|
||||
.u-tabs__wrapper__scroll-view-wrapper.data-v-5ce41ee6,
|
||||
.u-tabs__wrapper__scroll-view.data-v-5ce41ee6,
|
||||
.u-tabs__wrapper__nav.data-v-5ce41ee6,
|
||||
.u-tabs__wrapper__nav__line.data-v-5ce41ee6 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
flex-basis: auto;
|
||||
align-items: stretch;
|
||||
align-content: flex-start;
|
||||
}
|
||||
.u-button.data-v-5ce41ee6 {
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.u-button__text.data-v-5ce41ee6 {
|
||||
white-space: nowrap;
|
||||
line-height: 1;
|
||||
}
|
||||
.u-button.data-v-5ce41ee6:before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: inherit;
|
||||
border-radius: inherit;
|
||||
transform: translate(-50%, -50%);
|
||||
opacity: 0;
|
||||
content: " ";
|
||||
background-color: #000;
|
||||
border-color: #000;
|
||||
}
|
||||
.u-button--active.data-v-5ce41ee6:before {
|
||||
opacity: 0.15;
|
||||
}
|
||||
.u-button__icon + .u-button__text.data-v-5ce41ee6:not(:empty), .u-button__loading-text.data-v-5ce41ee6 {
|
||||
margin-left: 4px;
|
||||
}
|
||||
.u-button--plain.u-button--primary.data-v-5ce41ee6 {
|
||||
color: #3c9cff;
|
||||
}
|
||||
.u-button--plain.u-button--info.data-v-5ce41ee6 {
|
||||
color: #909399;
|
||||
}
|
||||
.u-button--plain.u-button--success.data-v-5ce41ee6 {
|
||||
color: #5ac725;
|
||||
}
|
||||
.u-button--plain.u-button--error.data-v-5ce41ee6 {
|
||||
color: #f56c6c;
|
||||
}
|
||||
.u-button--plain.u-button--warning.data-v-5ce41ee6 {
|
||||
color: #f56c6c;
|
||||
}
|
||||
.u-button.data-v-5ce41ee6 {
|
||||
height: 40px;
|
||||
position: relative;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
box-sizing: border-box;
|
||||
flex-direction: row;
|
||||
}
|
||||
.u-button__text.data-v-5ce41ee6 {
|
||||
font-size: 15px;
|
||||
}
|
||||
.u-button__loading-text.data-v-5ce41ee6 {
|
||||
font-size: 15px;
|
||||
margin-left: 4px;
|
||||
}
|
||||
.u-button--large.data-v-5ce41ee6 {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.u-button--normal.data-v-5ce41ee6 {
|
||||
padding: 0 12px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.u-button--small.data-v-5ce41ee6 {
|
||||
min-width: 60px;
|
||||
height: 30px;
|
||||
padding: 0px 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.u-button--mini.data-v-5ce41ee6 {
|
||||
height: 22px;
|
||||
font-size: 10px;
|
||||
min-width: 50px;
|
||||
padding: 0px 8px;
|
||||
}
|
||||
.u-button--disabled.data-v-5ce41ee6 {
|
||||
opacity: 0.5;
|
||||
}
|
||||
.u-button--info.data-v-5ce41ee6 {
|
||||
color: #323233;
|
||||
background-color: #fff;
|
||||
border-color: #ebedf0;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.u-button--success.data-v-5ce41ee6 {
|
||||
color: #fff;
|
||||
background-color: #5ac725;
|
||||
border-color: #5ac725;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.u-button--primary.data-v-5ce41ee6 {
|
||||
color: #fff;
|
||||
background-color: #3c9cff;
|
||||
border-color: #3c9cff;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.u-button--error.data-v-5ce41ee6 {
|
||||
color: #fff;
|
||||
background-color: #f56c6c;
|
||||
border-color: #f56c6c;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.u-button--warning.data-v-5ce41ee6 {
|
||||
color: #fff;
|
||||
background-color: #f9ae3d;
|
||||
border-color: #f9ae3d;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
.u-button--block.data-v-5ce41ee6 {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
width: 100%;
|
||||
}
|
||||
.u-button--circle.data-v-5ce41ee6 {
|
||||
border-top-right-radius: 100px;
|
||||
border-top-left-radius: 100px;
|
||||
border-bottom-left-radius: 100px;
|
||||
border-bottom-right-radius: 100px;
|
||||
}
|
||||
.u-button--square.data-v-5ce41ee6 {
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-left-radius: 3px;
|
||||
border-top-right-radius: 3px;
|
||||
}
|
||||
.u-button__icon.data-v-5ce41ee6 {
|
||||
min-width: 1em;
|
||||
line-height: inherit !important;
|
||||
vertical-align: top;
|
||||
}
|
||||
.u-button--plain.data-v-5ce41ee6 {
|
||||
background-color: #fff;
|
||||
}
|
||||
.u-button--hairline.data-v-5ce41ee6 {
|
||||
border-width: 0.5px !important;
|
||||
}
|
17
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell-group/props.js
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
|
||||
const props = {
|
||||
props: {
|
||||
// 分组标题
|
||||
title: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cellGroup.title
|
||||
},
|
||||
// 是否显示外边框
|
||||
border: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cellGroup.border
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.props = props;
|
129
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell-group/u-cell-group.js
vendored
Normal file
|
@ -0,0 +1,129 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_components_uCellGroup_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-cell-group",
|
||||
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uCellGroup_props.props],
|
||||
methods: {
|
||||
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle
|
||||
}
|
||||
};
|
||||
if (!Array) {
|
||||
const _easycom_u_line2 = common_vendor.resolveComponent("u-line");
|
||||
_easycom_u_line2();
|
||||
}
|
||||
const _easycom_u_line = () => "../u-line/u-line.js";
|
||||
if (!Math) {
|
||||
_easycom_u_line();
|
||||
}
|
||||
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
||||
return common_vendor.e({
|
||||
a: _ctx.title
|
||||
}, _ctx.title ? {
|
||||
b: common_vendor.t(_ctx.title)
|
||||
} : {}, {
|
||||
c: _ctx.border
|
||||
}, _ctx.border ? {} : {}, {
|
||||
d: common_vendor.s($options.addStyle(_ctx.customStyle)),
|
||||
e: common_vendor.n(_ctx.customClass)
|
||||
});
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-014d39dc"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-cell-group/u-cell-group.vue"]]);
|
||||
wx.createComponent(Component);
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"u-line": "../u-line/u-line"
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
<view style="{{d}}" class="{{[e, 'u-cell-group', 'data-v-014d39dc']}}"><view wx:if="{{a}}" class="u-cell-group__title data-v-014d39dc"><block wx:if="{{$slots.title}}"><slot name="title"></slot></block><block wx:else><text class="u-cell-group__title__text data-v-014d39dc">{{b}}</text></block></view><view class="u-cell-group__wrapper data-v-014d39dc"><u-line wx:if="{{c}}" class="data-v-014d39dc" u-i="014d39dc-0" bind:__l="__l"></u-line><slot/></view></view>
|
55
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell-group/u-cell-group.wxss
vendored
Normal file
|
@ -0,0 +1,55 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.u-empty.data-v-014d39dc,
|
||||
.u-empty__wrap.data-v-014d39dc,
|
||||
.u-tabs.data-v-014d39dc,
|
||||
.u-tabs__wrapper.data-v-014d39dc,
|
||||
.u-tabs__wrapper__scroll-view-wrapper.data-v-014d39dc,
|
||||
.u-tabs__wrapper__scroll-view.data-v-014d39dc,
|
||||
.u-tabs__wrapper__nav.data-v-014d39dc,
|
||||
.u-tabs__wrapper__nav__line.data-v-014d39dc {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
flex-basis: auto;
|
||||
align-items: stretch;
|
||||
align-content: flex-start;
|
||||
}
|
||||
.u-cell-group.data-v-014d39dc {
|
||||
flex: 1;
|
||||
}
|
||||
.u-cell-group__title.data-v-014d39dc {
|
||||
padding: 16px 16px 8px;
|
||||
}
|
||||
.u-cell-group__title__text.data-v-014d39dc {
|
||||
font-size: 15px;
|
||||
line-height: 16px;
|
||||
color: #303133;
|
||||
}
|
||||
.u-cell-group__wrapper.data-v-014d39dc {
|
||||
position: relative;
|
||||
}
|
113
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell/props.js
vendored
Normal file
|
@ -0,0 +1,113 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_libs_config_props = require("../../libs/config/props.js");
|
||||
const props = {
|
||||
props: {
|
||||
// 标题
|
||||
title: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.title
|
||||
},
|
||||
// 标题下方的描述信息
|
||||
label: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.label
|
||||
},
|
||||
// 右侧的内容
|
||||
value: {
|
||||
type: [String, Number],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.value
|
||||
},
|
||||
// 左侧图标名称,或者图片链接(本地文件建议使用绝对地址)
|
||||
icon: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.icon
|
||||
},
|
||||
// 是否禁用cell
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.disabled
|
||||
},
|
||||
// 是否显示下边框
|
||||
border: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.border
|
||||
},
|
||||
// 内容是否垂直居中(主要是针对右侧的value部分)
|
||||
center: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.center
|
||||
},
|
||||
// 点击后跳转的URL地址
|
||||
url: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.url
|
||||
},
|
||||
// 链接跳转的方式,内部使用的是uView封装的route方法,可能会进行拦截操作
|
||||
linkType: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.linkType
|
||||
},
|
||||
// 是否开启点击反馈(表现为点击时加上灰色背景)
|
||||
clickable: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.clickable
|
||||
},
|
||||
// 是否展示右侧箭头并开启点击反馈
|
||||
isLink: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.isLink
|
||||
},
|
||||
// 是否显示表单状态下的必填星号(此组件可能会内嵌入input组件)
|
||||
required: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.required
|
||||
},
|
||||
// 右侧的图标箭头
|
||||
rightIcon: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.rightIcon
|
||||
},
|
||||
// 右侧箭头的方向,可选值为:left,up,down
|
||||
arrowDirection: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.arrowDirection
|
||||
},
|
||||
// 左侧图标样式
|
||||
iconStyle: {
|
||||
type: [Object, String],
|
||||
default: () => {
|
||||
return uni_modules_uviewPlus_libs_config_props.defProps.cell.iconStyle;
|
||||
}
|
||||
},
|
||||
// 右侧箭头图标的样式
|
||||
rightIconStyle: {
|
||||
type: [Object, String],
|
||||
default: () => {
|
||||
return uni_modules_uviewPlus_libs_config_props.defProps.cell.rightIconStyle;
|
||||
}
|
||||
},
|
||||
// 标题的样式
|
||||
titleStyle: {
|
||||
type: [Object, String],
|
||||
default: () => {
|
||||
return uni_modules_uviewPlus_libs_config_props.defProps.cell.titleStyle;
|
||||
}
|
||||
},
|
||||
// 单位元的大小,可选值为large
|
||||
size: {
|
||||
type: String,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.size
|
||||
},
|
||||
// 点击cell是否阻止事件传播
|
||||
stop: {
|
||||
type: Boolean,
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.stop
|
||||
},
|
||||
// 标识符,cell被点击时返回
|
||||
name: {
|
||||
type: [Number, String],
|
||||
default: () => uni_modules_uviewPlus_libs_config_props.defProps.cell.name
|
||||
}
|
||||
}
|
||||
};
|
||||
exports.props = props;
|
197
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell/u-cell.js
vendored
Normal file
|
@ -0,0 +1,197 @@
|
|||
"use strict";
|
||||
const uni_modules_uviewPlus_components_uCell_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 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");
|
||||
const _sfc_main = {
|
||||
name: "u-cell",
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uCell_props.props],
|
||||
computed: {
|
||||
titleTextStyle() {
|
||||
return uni_modules_uviewPlus_libs_function_index.addStyle(this.titleStyle);
|
||||
}
|
||||
},
|
||||
emits: ["click"],
|
||||
methods: {
|
||||
addStyle: uni_modules_uviewPlus_libs_function_index.addStyle,
|
||||
testEmpty: uni_modules_uviewPlus_libs_function_test.test.empty,
|
||||
// 点击cell
|
||||
clickHandler(e) {
|
||||
if (this.disabled)
|
||||
return;
|
||||
this.$emit("click", {
|
||||
name: this.name
|
||||
});
|
||||
this.openPage();
|
||||
this.stop && this.preventEvent(e);
|
||||
}
|
||||
}
|
||||
};
|
||||
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.$slots.icon || _ctx.icon
|
||||
}, _ctx.$slots.icon || _ctx.icon ? common_vendor.e({
|
||||
b: _ctx.$slots.icon
|
||||
}, _ctx.$slots.icon ? {} : {
|
||||
c: common_vendor.p({
|
||||
name: _ctx.icon,
|
||||
["custom-style"]: _ctx.iconStyle,
|
||||
size: _ctx.size === "large" ? 22 : 18
|
||||
})
|
||||
}) : {}, {
|
||||
d: _ctx.$slots.title || !_ctx.title
|
||||
}, _ctx.$slots.title || !_ctx.title ? {} : {
|
||||
e: common_vendor.t(_ctx.title),
|
||||
f: common_vendor.s($options.titleTextStyle),
|
||||
g: common_vendor.n(_ctx.disabled && "u-cell--disabled"),
|
||||
h: common_vendor.n(_ctx.size === "large" && "u-cell__title-text--large")
|
||||
}, {
|
||||
i: _ctx.label
|
||||
}, _ctx.label ? {
|
||||
j: common_vendor.t(_ctx.label),
|
||||
k: common_vendor.n(_ctx.disabled && "u-cell--disabled"),
|
||||
l: common_vendor.n(_ctx.size === "large" && "u-cell__label--large")
|
||||
} : {}, {
|
||||
m: !$options.testEmpty(_ctx.value)
|
||||
}, !$options.testEmpty(_ctx.value) ? {
|
||||
n: common_vendor.t(_ctx.value),
|
||||
o: common_vendor.n(_ctx.disabled && "u-cell--disabled"),
|
||||
p: common_vendor.n(_ctx.size === "large" && "u-cell__value--large")
|
||||
} : {}, {
|
||||
q: _ctx.$slots["right-icon"] || _ctx.isLink
|
||||
}, _ctx.$slots["right-icon"] || _ctx.isLink ? common_vendor.e({
|
||||
r: _ctx.rightIcon && !_ctx.$slots["right-icon"]
|
||||
}, _ctx.rightIcon && !_ctx.$slots["right-icon"] ? {
|
||||
s: common_vendor.p({
|
||||
name: _ctx.rightIcon,
|
||||
["custom-style"]: _ctx.rightIconStyle,
|
||||
color: _ctx.disabled ? "#c8c9cc" : "info",
|
||||
size: _ctx.size === "large" ? 18 : 16
|
||||
})
|
||||
} : {}, {
|
||||
t: common_vendor.n(`u-cell__right-icon-wrap--${_ctx.arrowDirection}`)
|
||||
}) : {}, {
|
||||
v: _ctx.$slots["righticon"]
|
||||
}, _ctx.$slots["righticon"] ? {
|
||||
w: common_vendor.n(`u-cell__right-icon-wrap--${_ctx.arrowDirection}`)
|
||||
} : {}, {
|
||||
x: common_vendor.n(_ctx.center && "u-cell--center"),
|
||||
y: common_vendor.n(_ctx.size === "large" && "u-cell__body--large"),
|
||||
z: _ctx.border
|
||||
}, _ctx.border ? {} : {}, {
|
||||
A: common_vendor.n(_ctx.customClass),
|
||||
B: common_vendor.s($options.addStyle(_ctx.customStyle)),
|
||||
C: !_ctx.disabled && (_ctx.clickable || _ctx.isLink) ? "u-cell--clickable" : "",
|
||||
D: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args))
|
||||
});
|
||||
}
|
||||
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3fd6feca"], ["__file", "D:/里海数字乡村/purchase-let/uni_modules/uview-plus/components/u-cell/u-cell.vue"]]);
|
||||
wx.createComponent(Component);
|
7
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell/u-cell.json
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"u-icon": "../u-icon/u-icon",
|
||||
"u-line": "../u-line/u-line"
|
||||
}
|
||||
}
|
1
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell/u-cell.wxml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<view class="{{['u-cell', 'data-v-3fd6feca', A]}}" style="{{B}}" hover-class="{{C}}" hover-stay-time="{{250}}" bindtap="{{D}}"><view class="{{['u-cell__body', 'data-v-3fd6feca', x, y]}}"><view class="u-cell__body__content data-v-3fd6feca"><view wx:if="{{a}}" class="u-cell__left-icon-wrap data-v-3fd6feca"><slot wx:if="{{b}}" name="icon"></slot><u-icon wx:else class="data-v-3fd6feca" u-i="3fd6feca-0" bind:__l="__l" u-p="{{c||''}}"></u-icon></view><view class="u-cell__title data-v-3fd6feca"><slot wx:if="{{d}}" name="title"></slot><text wx:else style="{{f}}" class="{{['u-cell__title-text', 'data-v-3fd6feca', g, h]}}">{{e}}</text><block wx:if="{{$slots.label}}"><slot name="label"></slot></block><block wx:else><text wx:if="{{i}}" class="{{['u-cell__label', 'data-v-3fd6feca', k, l]}}">{{j}}</text></block></view></view><block wx:if="{{$slots.value}}"><slot name="value"></slot></block><block wx:else><text wx:if="{{m}}" class="{{['u-cell__value', 'data-v-3fd6feca', o, p]}}">{{n}}</text></block><view wx:if="{{q}}" class="{{['u-cell__right-icon-wrap', 'data-v-3fd6feca', t]}}"><u-icon wx:if="{{r}}" class="data-v-3fd6feca" u-i="3fd6feca-1" bind:__l="__l" u-p="{{s}}"></u-icon><slot wx:else name="right-icon"></slot></view><view wx:if="{{v}}" class="{{['u-cell__right-icon-wrap', 'data-v-3fd6feca', w]}}"><slot name="righticon"></slot></view></view><u-line wx:if="{{z}}" class="data-v-3fd6feca" u-i="3fd6feca-2" bind:__l="__l"></u-line></view>
|
119
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-cell/u-cell.wxss
vendored
Normal file
|
@ -0,0 +1,119 @@
|
|||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.u-empty.data-v-3fd6feca,
|
||||
.u-empty__wrap.data-v-3fd6feca,
|
||||
.u-tabs.data-v-3fd6feca,
|
||||
.u-tabs__wrapper.data-v-3fd6feca,
|
||||
.u-tabs__wrapper__scroll-view-wrapper.data-v-3fd6feca,
|
||||
.u-tabs__wrapper__scroll-view.data-v-3fd6feca,
|
||||
.u-tabs__wrapper__nav.data-v-3fd6feca,
|
||||
.u-tabs__wrapper__nav__line.data-v-3fd6feca {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
flex-grow: 0;
|
||||
flex-basis: auto;
|
||||
align-items: stretch;
|
||||
align-content: flex-start;
|
||||
}
|
||||
.u-cell__body.data-v-3fd6feca {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
box-sizing: border-box;
|
||||
padding: 13px 15px;
|
||||
font-size: 15px;
|
||||
color: #303133;
|
||||
align-items: center;
|
||||
}
|
||||
.u-cell__body__content.data-v-3fd6feca {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
.u-cell__body--large.data-v-3fd6feca {
|
||||
padding-top: 13px;
|
||||
padding-bottom: 13px;
|
||||
}
|
||||
.u-cell__left-icon-wrap.data-v-3fd6feca, .u-cell__right-icon-wrap.data-v-3fd6feca {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
.u-cell__left-icon-wrap.data-v-3fd6feca {
|
||||
margin-right: 4px;
|
||||
}
|
||||
.u-cell__right-icon-wrap.data-v-3fd6feca {
|
||||
margin-left: 4px;
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
.u-cell__right-icon-wrap--up.data-v-3fd6feca {
|
||||
transform: rotate(-90deg);
|
||||
}
|
||||
.u-cell__right-icon-wrap--down.data-v-3fd6feca {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.u-cell__title.data-v-3fd6feca {
|
||||
flex: 1;
|
||||
}
|
||||
.u-cell__title-text.data-v-3fd6feca {
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
color: #303133;
|
||||
}
|
||||
.u-cell__title-text--large.data-v-3fd6feca {
|
||||
font-size: 16px;
|
||||
}
|
||||
.u-cell__label.data-v-3fd6feca {
|
||||
margin-top: 5px;
|
||||
font-size: 12px;
|
||||
color: #909193;
|
||||
line-height: 18px;
|
||||
}
|
||||
.u-cell__label--large.data-v-3fd6feca {
|
||||
font-size: 14px;
|
||||
}
|
||||
.u-cell__value.data-v-3fd6feca {
|
||||
text-align: right;
|
||||
margin-left: auto;
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
color: #606266;
|
||||
}
|
||||
.u-cell__value--large.data-v-3fd6feca {
|
||||
font-size: 15px;
|
||||
}
|
||||
.u-cell--clickable.data-v-3fd6feca {
|
||||
background-color: #f3f4f6;
|
||||
}
|
||||
.u-cell--disabled.data-v-3fd6feca {
|
||||
color: #c8c9cc;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.u-cell--center.data-v-3fd6feca {
|
||||
align-items: center;
|
||||
}
|
66
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-copy/u-copy.js
vendored
Normal 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);
|
4
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-copy/u-copy.json
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
1
unpackage/dist/dev/mp-weixin/uni_modules/uview-plus/components/u-copy/u-copy.wxml
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
<view bindtap="{{a}}"><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else>复制</block></view>
|