|                                                                                                             |  | <template>	<view class="page__view">
		<navbar title="切换档案" leftClick @leftClick="$utils.navigateBack" color="#191919" bgColor="#FFFFFF" />
    <view class="list">      <uv-radio-group         v-model="selectedId"         placement="column"        shape="circle"        size="36rpx"        iconSize="36rpx"        activeColor="#00A9FF"      >        <view class="list-item" v-for="item in list" :key="item.id">          <memberCard             :data="item"             :showRadio="true"          ></memberCard>        </view>      </uv-radio-group>    </view>
    <view class="bottom">      <button class="btn" @click="onConfirm">确定切换</button>    </view>
  </view>  </template>
<script>	import { mapState } from 'vuex'
	import mixinsList from '@/mixins/list.js'
  import memberCard from './memberCard.vue'
  export default {		mixins: [mixinsList],    components: {      memberCard,    },    data() {      return {        queryParams: {          pageNo: 1,          pageSize: 10,          status: 1, // 绑定状态(status):0-确认中 1-已绑定 2-已拒绝
        },				mixinsListApi: 'queryBindList',        selectedId: null,      }    },    computed: {			...mapState(['userInfo', 'memberInfo']),    },    onLoad(arg) {      this.selectedId = this.memberInfo?.id || this.userInfo?.id 
      this.getData()    },    methods: {      getDataThen(records) {        this.list = [{          ...this.userInfo,          user: this.userInfo,        }].concat(records)      },      onConfirm() {        const target = this.list.find(item => item.user.id === this.selectedId)?.user        this.$store.commit('setMemberInfo', target)
        this.$utils.navigateBack()      },    },  }</script>
<style scoped lang="scss">  .page__view {		width: 100vw;		min-height: 100vh;		background: $uni-bg-color;		position: relative;  }
  .list {    padding: 32rpx 40rpx;    padding-bottom: calc(env(safe-area-inset-bottom) + 198rpx);
    &-item {
      & + & {        margin-top: 24rpx;      }
    }  }
  	.bottom {		position: fixed;		left: 0;		bottom: 0;
		width: 100vw;		// height: 200rpx;
		padding: 32rpx 40rpx;		padding-bottom: calc(env(safe-area-inset-bottom) + 32rpx);		background: #FFFFFF;		box-sizing: border-box;
		.btn {			width: 100%;			padding: 14rpx 0;			box-sizing: border-box;			font-family: PingFang SC;			font-weight: 500;			font-size: 36rpx;			line-height: 1.4;			color: #FFFFFF;			background: linear-gradient(to right, #21FEEC, #019AF9);			border: 2rpx solid #00A9FF;			border-radius: 41rpx;		}	}
</style>
 |