|
|
@ -1,18 +1,21 @@ |
|
|
<script setup lang="ts"> |
|
|
<script setup lang="ts"> |
|
|
import { |
|
|
import { onShow } from '@dcloudio/uni-app'; |
|
|
|
|
|
import { log } from 'console'; |
|
|
|
|
|
import { |
|
|
onMounted, |
|
|
onMounted, |
|
|
ref |
|
|
ref |
|
|
} from 'vue'; |
|
|
} from 'vue'; |
|
|
|
|
|
import PullToRefresh from '@/components/PullToRefresh.vue'; |
|
|
|
|
|
|
|
|
const tpList = ref([ |
|
|
const tpList = ref([ |
|
|
{ |
|
|
{ |
|
|
img: '/static/img/grxx.png', |
|
|
img: '/static/img/grxx.png', |
|
|
name: '陈志远', |
|
|
name: '陈志远', |
|
|
class: '现任财务总监', |
|
|
class: '现任财务总监', |
|
|
} |
|
|
} |
|
|
]) |
|
|
]) |
|
|
|
|
|
|
|
|
const doSearch = (_formData: { page: number; limit: number }, onSuccess: Function) => { |
|
|
const doSearch = (_formData : { page : number; limit : number }, onSuccess : Function) => { |
|
|
// const submitData = { ...formData } |
|
|
// const submitData = { ...formData } |
|
|
// listApi(submitData, userStore.useType).then((res) => { |
|
|
// listApi(submitData, userStore.useType).then((res) => { |
|
|
// const { data } = res as { data: { data: any; total: number } } |
|
|
// const { data } = res as { data: { data: any; total: number } } |
|
|
@ -22,46 +25,64 @@ const doSearch = (_formData: { page: number; limit: number }, onSuccess: Functio |
|
|
data: { |
|
|
data: { |
|
|
data: [ |
|
|
data: [ |
|
|
{ |
|
|
{ |
|
|
id: 1, |
|
|
img: '/static/img/grxx.png', |
|
|
name: '测试一', |
|
|
name: '陈志远', |
|
|
phone: '17612341234', |
|
|
class: '现任财务总监', |
|
|
address: '测试地址', |
|
|
}, |
|
|
region_desc: '测试地址测试地址测试地址测试地址', |
|
|
{ |
|
|
is_default: true |
|
|
img: '/static/img/grxx.png', |
|
|
|
|
|
name: '陈志远', |
|
|
|
|
|
class: '现任财务总监', |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
id: 2, |
|
|
img: '/static/img/grxx.png', |
|
|
name: '测试一', |
|
|
name: '陈志远', |
|
|
phone: '17612341234', |
|
|
class: '现任财务总监', |
|
|
address: '测试地址', |
|
|
|
|
|
region_desc: '测试地址测试地址测试地址测试地址' |
|
|
|
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
id: 3, |
|
|
img: '/static/img/grxx.png', |
|
|
name: '测试一', |
|
|
name: '陈志远', |
|
|
phone: '17612341234', |
|
|
class: '现任财务总监', |
|
|
address: '测试地址', |
|
|
|
|
|
region_desc: '测试地址测试地址测试地址测试地址' |
|
|
|
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
id: 4, |
|
|
img: '/static/img/grxx.png', |
|
|
name: '测试一', |
|
|
name: '陈志远', |
|
|
phone: '17612341234', |
|
|
class: '现任财务总监', |
|
|
address: '测试地址', |
|
|
|
|
|
region_desc: '测试地址测试地址测试地址测试地址' |
|
|
|
|
|
} |
|
|
} |
|
|
], |
|
|
], |
|
|
total: 0 |
|
|
total: 0 |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const selectIndex = ref(0) |
|
|
|
|
|
const buttlist = ref([ |
|
|
|
|
|
{ |
|
|
|
|
|
butname: '同意' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
butname: '反对' |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
butname: '弃权' |
|
|
|
|
|
} |
|
|
|
|
|
]) |
|
|
|
|
|
|
|
|
|
|
|
const selectBut = (index : number) => { |
|
|
|
|
|
selectIndex.value = index |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const loadData = async () => { |
|
|
|
|
|
// 模拟异步请求 |
|
|
|
|
|
console.log(1111111111111) |
|
|
|
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
|
|
|
<pull-to-refresh :on-refresh="loadData"> |
|
|
|
|
|
<!-- 你的页面内容 --> |
|
|
<view class="box"> |
|
|
<view class="box"> |
|
|
<ex-header :leftShow="false" backgroundColor="#2563EB" textColor="#fff" title="地址管理" /> |
|
|
<ex-list ref="reListRef" custom-list-type="scroll" :on-form-search="doSearch" empty-text="" |
|
|
|
|
|
|
|
|
<ex-list ref="reListRef" custom-list-type="scroll" :on-form-search="doSearch" empty-text="暂无收货地址~" |
|
|
|
|
|
customListType="custom"> |
|
|
customListType="custom"> |
|
|
<template v-slot="{ data }"> |
|
|
<template v-slot="{ data }"> |
|
|
|
|
|
|
|
|
@ -76,62 +97,45 @@ const doSearch = (_formData: { page: number; limit: number }, onSuccess: Functio |
|
|
投票截止时间:2024年3月15日 18:00 |
|
|
投票截止时间:2024年3月15日 18:00 |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<view class="tppart"> |
|
|
<view v-for="(row, index) of data" class="address-items flex" @click.stop="onChoose(row)"> |
|
|
<view class="tpone" v-for="(row, index) of data" :key="index"> |
|
|
<view class="flex1 left"> |
|
|
<view class="topp"> |
|
|
<view class="flex-center-start"> |
|
|
<img style="width: 96rpx;height: 96rpx; border-radius: 50%;" :src="row.img" alt="" /> |
|
|
<text class="name">{{ row.name }}</text> |
|
|
<view class="rightpart"> |
|
|
<text class="name">{{ row.phone }}</text> |
|
|
<view class="name"> |
|
|
<text v-if="row.is_default" class="isdefault">默认地址</text> |
|
|
{{ row.name }} |
|
|
</view> |
|
|
|
|
|
<view class="info text-ellipsis">{{ row.region_desc }}{{ row.address }}</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
<view class="flex column right"> |
|
|
|
|
|
<text @click.stop="navto('pages/address/edit', { id: row.id, isadd: 0 })">编辑</text> |
|
|
|
|
|
<text v-if="!row.is_default" style="margin-top: 14rpx" |
|
|
|
|
|
@click.stop="setDefault(row, index)">设为默认</text> |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
</ex-list> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<!-- <view class="box"> |
|
|
<view class="class"> |
|
|
<view class="main"> |
|
|
{{ row.class }} |
|
|
<view class="headpart"> |
|
|
|
|
|
<view class="title"> |
|
|
|
|
|
2024年度董事会成员选举 |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<view class="time"> |
|
|
|
|
|
投票开始时间:2024年3月15日 18:00 |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<view class="time"> |
|
|
|
|
|
投票截止时间:2024年3月15日 18:00 |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<view class="bottomp"> |
|
|
|
|
|
<view class="minbut" v-for="(item,index) in buttlist" :key="index" |
|
|
|
|
|
@click="selectBut(index)" :class="{active: selectIndex === index}"> |
|
|
|
|
|
{{item.butname}} |
|
|
</view> |
|
|
</view> |
|
|
<view class="tppart"> |
|
|
|
|
|
<view class="tpone" v-for="(item, index) in tpList" :key="index"> |
|
|
|
|
|
<img style="width: 96rpx;height: 96rpx; border-radius: 50%;" :src="item.img" alt="" /> |
|
|
|
|
|
<view class="rightpart"> |
|
|
|
|
|
<view class="name"> |
|
|
|
|
|
{{ item.name }} |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<view class="class"> |
|
|
|
|
|
|
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
</template> |
|
|
|
|
|
</ex-list> |
|
|
|
|
|
<view class="bottbutton"> |
|
|
|
|
|
<view class="qbty"> |
|
|
|
|
|
全部同意 |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<view class="tjtp"> |
|
|
|
|
|
提交投票 |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<view class="buts"> |
|
|
|
|
|
|
|
|
|
|
|
</view> |
|
|
</view> |
|
|
</view> --> |
|
|
</pull-to-refresh> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
<style scoped lang="scss"> |
|
|
.box { |
|
|
.box { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
min-height: 100vh; |
|
|
height: 100vh; |
|
|
background-color: #F9FAFB; |
|
|
background-color: #F9FAFB; |
|
|
|
|
|
|
|
|
.headpart { |
|
|
.headpart { |
|
|
@ -142,6 +146,7 @@ const doSearch = (_formData: { page: number; limit: number }, onSuccess: Functio |
|
|
margin: 32rpx auto; |
|
|
margin: 32rpx auto; |
|
|
padding: 20rpx 3%; |
|
|
padding: 20rpx 3%; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.title { |
|
|
.title { |
|
|
color: #2563EB; |
|
|
color: #2563EB; |
|
|
font-size: 28rpx; |
|
|
font-size: 28rpx; |
|
|
@ -155,38 +160,154 @@ const doSearch = (_formData: { page: number; limit: number }, onSuccess: Functio |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.main { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 90vh; |
|
|
|
|
|
display: grid; |
|
|
|
|
|
justify-items: center; |
|
|
|
|
|
align-content: start; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.tppart { |
|
|
.tppart { |
|
|
margin-top: 32rpx; |
|
|
|
|
|
width: 100%; |
|
|
width: 100%; |
|
|
max-height: 60vh; |
|
|
max-height: 69vh; |
|
|
overflow-y: auto; |
|
|
overflow-y: auto; |
|
|
display: grid; |
|
|
display: grid; |
|
|
justify-items: center; |
|
|
justify-items: center; |
|
|
|
|
|
|
|
|
.tpone { |
|
|
.tpone { |
|
|
width: 84%; |
|
|
width: 91%; |
|
|
height: 264rpx; |
|
|
height: 264rpx; |
|
|
padding: 20rpx 4%; |
|
|
padding: 20rpx 4%; |
|
|
|
|
|
box-sizing: border-box; |
|
|
border-radius: 24rpx; |
|
|
border-radius: 24rpx; |
|
|
background-color: #FFFFFF; |
|
|
background: linear-gradient(0deg, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.001)), #FFFFFF; |
|
|
|
|
|
box-sizing: border-box; |
|
|
border: 2rpx solid #F3F4F6; |
|
|
border: 2rpx solid #F3F4F6; |
|
|
box-shadow: 5rpx 5rpx 3rpx 0 rgba(212, 212, 212, 0.7); |
|
|
box-shadow: 0rpx 2rpx 4rpx -2rpx rgba(0, 0, 0, 0.1), 0rpx 2rpx 6rpx 0rpx rgba(0, 0, 0, 0.1); |
|
|
|
|
|
margin-top: 32rpx; |
|
|
|
|
|
display: grid; |
|
|
|
|
|
|
|
|
|
|
|
.topp { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
|
.rightpart { |
|
|
.rightpart { |
|
|
margin-left: 40rpx; |
|
|
margin-left: 32rpx; |
|
|
|
|
|
display: grid; |
|
|
|
|
|
justify-items: left; |
|
|
|
|
|
align-content: baseline; |
|
|
|
|
|
|
|
|
|
|
|
.name { |
|
|
|
|
|
font-family: Roboto; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
font-weight: 500; |
|
|
|
|
|
line-height: 42rpx; |
|
|
|
|
|
letter-spacing: normal; |
|
|
|
|
|
color: #000000; |
|
|
|
|
|
margin-top: 7rpx; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.class { |
|
|
|
|
|
font-family: Roboto; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
font-weight: normal; |
|
|
|
|
|
line-height: 40rpx; |
|
|
|
|
|
letter-spacing: normal; |
|
|
|
|
|
color: #6B7280; |
|
|
|
|
|
margin-top: 7rpx; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.bottomp { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: space-between; |
|
|
|
|
|
gap: 0rpx 20rpx; |
|
|
|
|
|
|
|
|
|
|
|
.minbut { |
|
|
|
|
|
flex: 1; |
|
|
|
|
|
width: 190rpx; |
|
|
|
|
|
height: 76rpx; |
|
|
|
|
|
/* 自动布局 */ |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
padding: 16rpx 32rpx; |
|
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
align-content: flex-start; |
|
|
|
|
|
border-radius: 8rpx; |
|
|
|
|
|
background: #FFFFFF; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
border: 2rpx solid #D1D5DB; |
|
|
|
|
|
font-family: Roboto; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
font-weight: normal; |
|
|
|
|
|
line-height: 40rpx; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
letter-spacing: normal; |
|
|
|
|
|
color: #4B5563; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.name {} |
|
|
.minbut.active { |
|
|
|
|
|
border: 2rpx solid #2563EB; |
|
|
|
|
|
color: #2563EB; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tpone:first-child { |
|
|
|
|
|
margin-top: 0; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.bottbutton { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 10vh; |
|
|
|
|
|
display: flex; |
|
|
|
|
|
padding: 24rpx 32rpx; |
|
|
|
|
|
gap: 0rpx 24rpx; |
|
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
align-content: flex-start; |
|
|
|
|
|
background: #FFFFFF; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
border-width: 2rpx 0rpx 0rpx 0rpx; |
|
|
|
|
|
border-style: solid; |
|
|
|
|
|
border-color: #F3F4F6; |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
bottom: 0; |
|
|
|
|
|
|
|
|
|
|
|
.qbty { |
|
|
|
|
|
width: 331rpx; |
|
|
|
|
|
height: 90rpx; |
|
|
|
|
|
/* 自动布局 */ |
|
|
|
|
|
display: flex; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
padding: 24rpx 0rpx; |
|
|
|
|
|
gap: 0rpx 20rpx; |
|
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
border-radius: 8rpx; |
|
|
|
|
|
background: #EFF6FF; |
|
|
|
|
|
font-family: Roboto; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
font-weight: 500; |
|
|
|
|
|
line-height: 42rpx; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
letter-spacing: normal; |
|
|
|
|
|
color: #2563EB; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.tjtp { |
|
|
|
|
|
width: 331rpx; |
|
|
|
|
|
height: 90rpx; |
|
|
|
|
|
/* 自动布局 */ |
|
|
|
|
|
display: flex; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
padding: 24rpx 0rpx; |
|
|
|
|
|
gap: 0rpx 20rpx; |
|
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
border-radius: 8rpx; |
|
|
|
|
|
background: #2563EB; |
|
|
|
|
|
font-family: Roboto; |
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
font-weight: 500; |
|
|
|
|
|
line-height: 42rpx; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
letter-spacing: normal; |
|
|
|
|
|
color: #FFFFFF; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -243,5 +364,5 @@ const doSearch = (_formData: { page: number; limit: number }, onSuccess: Functio |
|
|
bottom: 0; |
|
|
bottom: 0; |
|
|
border-top: 2rpx solid #ebebec; |
|
|
border-top: 2rpx solid #ebebec; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |