123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- <template>
- <view class="apply-list">
- <view class="apply-list-item" v-for="(item,index) in editList" :key="index">
- <view class="apply-list-item-title">
- {{item.title}}
- </view>
- <view class="apply-info">
- <view class="apply-info-item" v-for="(item1,index1) in item.childer" :key="index1">
- <view class="apply-info-item-img">
- <image style="width: 100%;height: 100%;" :src="item1.img" mode=""></image>
- <view v-if="show" class="home-edit-item-img-icon" @click="add(item1)">
- +
- </view>
- </view>
- <view class="apply-info-item-text">
- {{item1.title}}
- </view>
- </view>
- </view>
- </view>
- </view>
- </template>
- <script>
- export default {
- name: "editContent",
- props: {
- list: {
- type: Array,
- default: () => []
- }
- },
- data() {
- return {
- };
- },
- methods: {
- add(item) {
- item.show = !item.show
- this.$emit('update:list', this.list)
- }
- },
- computed: {
- show() {
- let arr = []
- this.list.forEach(item => {
- item.childer.forEach(item1 => {
- if (item1.show) {
- arr.push(item1)
- }
- })
-
- })
- let flag = false
- if(arr.length >=3){
- flag = false
- }else {
- flag = true
- }
- return flag
- },
- editList() {
- let arr = []
- this.list.forEach(item => {
- let obj = {
- title: item.title,
- childer: []
- }
- item.childer.forEach(item1 => {
- if (!item1.show) {
- obj.childer.push(item1)
- }
- })
- arr.push(obj)
- })
- return arr
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .apply-list {
- width: 100%;
- .apply-list-item {
- padding: 32rpx 32rpx 0 32rpx;
- background-color: #fff;
- border-radius: 5.33px;
- box-shadow: 0px 0px 6.67px 0px rgba(147, 147, 147, 0.20);
- margin-bottom: 32rpx;
- .apply-list-item-title {
- font-size: 32rpx;
- margin-bottom: 32rpx;
- }
- }
- .apply-info {
- width: 100%;
- display: flex;
- flex-wrap: wrap;
- .apply-info-item {
- width: 20%;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- margin-bottom: 32rpx;
- .apply-info-item-img {
- width: 50rpx;
- height: 50rpx;
- position: relative;
- }
- .apply-info-item-text {
- font-size: 24rpx;
- }
- }
- }
- }
- .home-edit-item-img-icon {
- width: 30rpx;
- height: 32rpx;
- background-color: rgba(153, 153, 153, 1);
- font-size: 24rpx;
- color: #fff;
- text-align: center;
- line-height: 30rpx;
- border-radius: 50%;
- position: absolute;
- right: -15rpx;
- top: -15rpx;
- }
- </style>
|