first commit
This commit is contained in:
BIN
components/.DS_Store
vendored
Normal file
BIN
components/.DS_Store
vendored
Normal file
Binary file not shown.
BIN
components/orange-user/.DS_Store
vendored
Normal file
BIN
components/orange-user/.DS_Store
vendored
Normal file
Binary file not shown.
378
components/orange-user/user/index.vue
Normal file
378
components/orange-user/user/index.vue
Normal file
File diff suppressed because one or more lines are too long
210
components/orderList/orderList.vue
Normal file
210
components/orderList/orderList.vue
Normal file
File diff suppressed because one or more lines are too long
85
components/search/search.vue
Normal file
85
components/search/search.vue
Normal file
@@ -0,0 +1,85 @@
|
||||
<template>
|
||||
<view :class="Fixed ? 'Fixed' : ''">
|
||||
<view :style="{ height: statusBarHeight }" v-if="top"></view>
|
||||
<view style="height: 44px" v-if="top"></view>
|
||||
<view class="search">
|
||||
<!-- <view class="search_left" :class="Fixed ? 'opacityLeft' : ''">
|
||||
<image class="search_left_img" src="/static/icon/xai.png" mode="widthFix"></image>
|
||||
<view>郑州市</view>
|
||||
</view> -->
|
||||
<view class="search_right p30">
|
||||
<up-input placeholder="查找地点、电站" confirmType="search" suffixIcon="/static/icon/search.png" border="none" v-model="value" @change="change" @confirm="confirm"></up-input>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
|
||||
import { ref } from 'vue';
|
||||
let value = ref('');
|
||||
const statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
|
||||
const emits = defineEmits(['change', 'search']);
|
||||
|
||||
const data = defineProps({
|
||||
Fixed: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
top: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
});
|
||||
|
||||
let change = (e) => {
|
||||
emits('change', e);
|
||||
};
|
||||
|
||||
let confirm = (e) => {
|
||||
emits('search', e);
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.Fixed {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
padding: 0 30rpx;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.search {
|
||||
@include flex($space: space-between);
|
||||
|
||||
&_left {
|
||||
@include flex;
|
||||
font-weight: bold;
|
||||
font-size: 40rpx;
|
||||
color: #232323;
|
||||
height: 86rpx;
|
||||
&_img {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.opacityLeft {
|
||||
background: rgba(255, 255, 255, 0.27);
|
||||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||||
padding: 0 10rpx;
|
||||
}
|
||||
|
||||
&_right {
|
||||
flex: 1;
|
||||
@include flex;
|
||||
// max-width: 500rpx;
|
||||
height: 86rpx;
|
||||
background: #ffffff;
|
||||
box-shadow: inset 0rpx 0rpx 22rpx 2rpx #f9fbff;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
83
components/slide-filter/index.vue
Normal file
83
components/slide-filter/index.vue
Normal file
@@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<view class="slide-filter-container">
|
||||
<view class="progress-bar-bg">
|
||||
<view class="progress-bar-length" :style="{width: `${(scaleIndex / (option?.length - 1) * 100)}%`}"></view>
|
||||
<view class="scale-area">
|
||||
<view
|
||||
class="scale-area-item"
|
||||
v-for="(item, index) in option"
|
||||
:class="{'scale-area-item-active': index == scaleIndex}"
|
||||
@click="clickScale(item, index)"
|
||||
>
|
||||
{{ item }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, defineProps, defineEmits } from 'vue';
|
||||
|
||||
const props = defineProps({
|
||||
option: { type: Array, default: () => [] },
|
||||
modelValue: { type: Number, default: "" },
|
||||
});
|
||||
|
||||
const emit = defineEmits(['update:modelValue', 'change']);
|
||||
|
||||
const scaleIndex = ref(0);
|
||||
const clickScale = (item, index) => {
|
||||
scaleIndex.value = index;
|
||||
emit("update:modelValue", item)
|
||||
emit("change")
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.slide-filter-container {
|
||||
width: 100%;
|
||||
.progress-bar-bg {
|
||||
height: 20rpx;
|
||||
background: #EEEEEE;
|
||||
position: relative;
|
||||
border-radius: 4rpx;
|
||||
.progress-bar-length {
|
||||
width: 50%;
|
||||
height: 100%;
|
||||
background: #6FA256;
|
||||
border-radius: 4rpx 0 0 4rpx;
|
||||
position: relative;
|
||||
}
|
||||
.progress-bar-length::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 2rpx;
|
||||
height: 26rpx;
|
||||
right: -2rpx;
|
||||
top: -3rpx;
|
||||
background: #6FA256;
|
||||
}
|
||||
.scale-area {
|
||||
position: absolute;
|
||||
height: 46rpx;
|
||||
top: 0;
|
||||
left: 0;
|
||||
font-weight: bold;
|
||||
font-size: 20rpx;
|
||||
color: #232323;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
&-item {
|
||||
padding-top: 26rpx;
|
||||
width: 20rpx;
|
||||
text-align: center;
|
||||
}
|
||||
&-item-active {
|
||||
color: #6FA256;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
BIN
components/static/.DS_Store
vendored
Normal file
BIN
components/static/.DS_Store
vendored
Normal file
Binary file not shown.
3233
components/static/style/color-ui.css
Normal file
3233
components/static/style/color-ui.css
Normal file
File diff suppressed because it is too large
Load Diff
1228
components/static/style/icon.css
Normal file
1228
components/static/style/icon.css
Normal file
File diff suppressed because one or more lines are too long
BIN
components/static/user/logo-active.png
Normal file
BIN
components/static/user/logo-active.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
BIN
components/static/user/logo.png
Normal file
BIN
components/static/user/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
30
components/statusBar/statusBar.vue
Normal file
30
components/statusBar/statusBar.vue
Normal file
@@ -0,0 +1,30 @@
|
||||
<template>
|
||||
<view style="position: relative">
|
||||
<view :style="{ height: statusBarHeight }"></view>
|
||||
<view style="height: 44px"></view>
|
||||
<view class="statusBar_blur"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
const statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px';
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.statusBar_blur {
|
||||
width: 100%;
|
||||
height: 185rpx;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: #dbe6ff;
|
||||
opacity: 0.8;
|
||||
filter: blur(50px);
|
||||
/* #ifdef MP-ALIPAY */
|
||||
z-index: 0;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
z-index: -1;
|
||||
/* #endif */
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user