<template>
  <div class="ExamineList">
    <AiTopFixed>
      <u-tabs :list="tabList" :is-scroll="false" :current="currentTabs" height="96" bg-color="#3975C6" inactive-color="#CDDCF0" bar-width="48" active-color="#fff " @change="change"></u-tabs>
      <div class="middle">
        <div class="left">
          <AiAreaPicker v-model="areaId" :areaId="user.areaId" @select="areaSelect" :name.sync="areaName" style="color: #666">
            <u-icon name="map-fill" color="#3192F4" size="20px" style="vertical-align: text-bottom"></u-icon>
            <span style="margin-left: 4px" v-if="areaName">{{ areaName }}</span>
            <span v-else>请选择</span>
            <u-icon name="arrow-down" color="#666" size="28" style="margin-left: 4px" />
          </AiAreaPicker>
        </div>
        <u-search v-model="keyword" :clearabled="true" placeholder="姓名/联系方式/身份证后6位" :show-action="false" bg-color="#F5F5F5" search-icon-color="#999" color="#999" height="58" @search="handerSearch" @clear="handerClear"></u-search>
      </div>
    </AiTopFixed>
    <div v-if="datas && datas.length > 0" class="list-content">
      <div class="card" v-for="(item, i) in datas" :key="i" @click="toDetailPeople(item)">
        <div class="photos">
          <img :src="item.photo" alt="" v-if="item.photo" />
          <img src="https://cdn.sinoecare.com/i/2024/07/16/66963d7ce4040.png" alt="" v-else />
        </div>
        <div class="right">
          <div class="rightTop">
            <div class="rightTop-lefts">
              <span class="names">{{ item.name }}</span>
              <span class="fileStatuss" v-if="item.fileStatus == 1"> {{ $dict.getLabel('fileStatus', item.fileStatus) }}</span>
              <span class="householdNames" v-if="item.householdName == 1">户主</span>
              <span class="householdNames" v-else>非户主</span>
              <span class="audit-status" :class="'status'+item.auditStatus">{{ $dict.getLabel('auditStatus', item.auditStatus) }}</span>
            </div>

            <div class="rightTop-rights">
              <u-section :show-line="false" sub-title="详情"></u-section>
            </div>
          </div>

          <div class="rightBottom">
            <span>身份证号：</span>
            <span>{{ item.idNumber.replace(/^(\w{6})\w{8}(.*)$/, '$1********$2') }}</span>
          </div>
        </div>
      </div>
    </div>

    <AiEmpty v-else></AiEmpty>
  </div>
</template>

<script>
import { mapState } from 'vuex'
export default {
  name: 'ExamineList',
  components: {},
  props: {},
  data() {
    return {
      id: '',
      datas: [],
      resident: {},
      areaId: '',
      areaName: '',
      tabList: [
        {
          name: '待处理',
        },
        {
          name: '已处理',
        },
      ],
      currentTabs: 0,
      keyword: ''
    }
  },
  computed: {
    ...mapState(['user']),
  },
  onLoad() {
    this.areaId = this.user.areaId
    this.areaName = this.user.areaName
    this.$dict.load('householdRelation', 'auditStatus').then(() => {
      this.getList()
    })
    uni.$on('updatePeople', () => {
      this.getListInit()
    })
  },
  onShow() {
    document.title = '居民档案审核'
  },
  methods: {
    getListInit() {
      this.current = 1
      this.datas = []
      this.getList()
    },
    getList() {
      var auditType = 0 // 0待处理; 2已处理
      if(this.currentTabs == 1) {
        auditType = 2
      }
      this.$instance.post('/app/appresident/list', null, {
        params: {
          size: 10,
          current: this.current,
          con: this.keyword,
          areaId: this.areaId,
          auditType,
          source: 1
        },
      })
      .then((res) => {
        if (res.code == 0) {
          this.datas = this.current > 1 ? [...this.datas, ...res.data.records] : res.data.records

          this.pages = res.data.pages
        }
      })
    },

    change(index) {
      this.currentTabs = index
      this.getListInit()
    },

    toDetailPeople(item) {
      uni.navigateTo({ url: `./DetailPeople?id=${item.id}&type=1` })
    },

    areaSelect(e) {
      this.areaId = e
      this.getListInit()
    },

    handerSearch(e) {
      this.keyword = e
      this.getListInit()
    },

    handerClear() {
      this.keyword = ''
      this.getListInit()
    },
  },
  onReachBottom() {
    this.current = this.current + 1
    this.getList()
  },
}
</script>

<style scoped lang="scss">
.ExamineList {
  height: 100%;
  .list-content{
    padding: 0 60px;
    background-color: #fff;
  }
  .card {
    display: flex;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    padding: 48px 32px;
    margin-bottom: 32px;
    background: url(http://respub.sinoecare.net/20211222/装饰2-20211222162934.png) no-repeat;
    background-size: 100% 100%;
    .photos {
      img {
        width: 96px;
        height: 96px;
        border-radius: 50%;
      }
    }

    .right {
      display: flex;
      flex-direction: column;
      margin-left: 40px;
      width: 100%;
      .rightTop {
        display: flex;
        justify-content: space-between;
        .rightTop-lefts {
          width: calc(100% - 100px);
          .names {
            font-size: 32px;
            font-weight: 600;
            word-break: break-all;
          }
          .householdNames {
            margin-left: 30px;
            font-size: 26px;
            font-weight: 500;
            color: #5aad6a;
            display: inline-block;
            width: 100px;
          }
          .fileStatuss {
            display: inline-block;
            margin-left: 30px;
            color: #ff4466;
            background: #ffecef;
            border-radius: 8px;
            width: 88px;
            height: 40px;
            line-height: 40px;
            text-align: center;
          }
        }
        .rightTop-rights {
          width: 100px;
          ::v-deep .u-section {
            .u-section__right-info {
              color: #3975c6 !important;
              .u-section__right-info__icon-arrow {
                .u-icon {
                  .u-icon__icon {
                    color: #3975c6 !important;
                  }
                }
              }
            }
          }
        }
      }
      .rightBottom {
        margin-top: 20px;
      }
    }
  }
  .middle {
    display: flex;
    padding: 24px 32px;
    .left {
      width: 220px;
      display: flex;
      align-items: center;

      img {
        width: 48px;
        height: 48px;
      }
    }
    .u-search {
      margin-bottom: 0 !important;
    }
  }

  ::v-deep .content{
    padding: 0;
  }

  .audit-status{
    display: inline-block;
    padding: 0 8px;
    line-height: 40px;
    background: #EAF0FE;
    border-radius: 8px;
    font-size: 24px;
    font-family: PingFangSC-Regular, PingFang SC;
  }
  .status1{
    color: #3E95FF;
    background-color: #EAF0FE;
  }
  .status0{
    color: #5AAD6A;
    background-color: #E9FFED;
  }
  .status2{
    color: #f46;
    background-color: #FFECEF;
  }

}
</style>
