<template>
  <scroll-view class="view-container">
    <view class="emty" v-if="list.length == 0">
      <image
        src="/static/images/emty.png"
        style="width: 79px; height: 79px"
        mode="widthFix"
      ></image>
      <text>暂无数据</text>
    </view>
    <view
      class="enterprise"
      v-for="enterprise in list"
      :key="enterprise.id"
    >
      <view class="info" @tap="goDetail(enterprise.id)">
        <view>
          {{ enterprise.enterprisesName }}
        </view>
        <view class="wd-flex" style="gap: 8px">
          <u-avatar
            :src="enterprise.files[0].url"
            shape="square"
            style="width: 53px; height: 53px"
          ></u-avatar>
          <view class="">
            <view class="">
              <view class="wd-flex wd-pb-8px">
                <u-icon name="map" size="14" color="#17C653"></u-icon>
                <text class="address wd-text-12" style="margin-left: 4px">
                  {{
                    `${$dict.echoDicValue(
                      dictMap.enterprises_area,
                      enterprise.region
                    )} | ${enterprise.address}`
                  }}
                </text>
              </view>
              <view class="tagList">
                <view
                  class="tag"
                  v-for="(tag, index) in enterprise.tagList"
                  :key="index"
                >
                  {{ tag }}
                </view>
              </view>
            </view>
          </view>
        </view>
        <view class="wd-flex" style="align-items: center">
          <text class="address" style="margin-right: 8px; color: #4b5675">
            环保负责人
          </text>
          <text style="margin-right: 16px">
            {{ enterprise.contactName }}
          </text>
          <text class="address" style="margin-right: 8px; color: #4b5675">
            联系方式
          </text>
          <text style="">
            {{ enterprise.environmentalContactPhone }}
          </text>
        </view>
      </view>
      <view class="opera">
        <button
          class="box-btn red"
          open-type="share"
          @tap="shareEntprise(enterprise.id)"
        >
          变更管理人
        </button>
        <view class="box-btn green" @tap="editEnterprise(enterprise.id)">
          编辑该企业
        </view>
      </view>
      <view
        class="audit"
        v-if="!enterprise.isAudit"
        style="color: #f6b100; background-color: #fff8dd"
      >
        待审核
      </view>
    </view>

    <cs-bottom-wrapper v-if="inviteId">
      <view class="operation">
        <button class="btn green" @tap="addEnterprise">新增企业</button>
      </view>
    </cs-bottom-wrapper>
  </scroll-view>
</template>

<script>
import { vertifyName } from '@/api/enterprise/index.js'
import { getTagData, getDictBatchByType } from '@/api/system/dict.js'
import config from '@/config'
export default {
  data() {
    return {
      inviteId: '',
      list: [],
      dictMap: {},
      share: {
        title: '企业变更管理', // 标题
        path: `/sub/invite/index?inviteId=${this.$store.getters.userId}`,
        imageUrl: config.baseUrl + '/fx_bggl.png'
      }
    }
  },
  onShow() {
    this.getList()
  },
  onLoad(res) {
    if (res.inviteId) {
      this.inviteId = res.inviteId
    }
    this.getDict()
    this.getList()
  },
  onShareAppMessage() {
    return this.share
  },
  onPullDownRefresh() {
    this.getList()
  },
  methods: {
    getList() {
      uni.showLoading({
        title: '加载中...'
      })
      vertifyName({ enterpriseUserId: this.$store.getters.userId }).then(
        res => {
          this.list = res.data.list
          uni.stopPullDownRefresh()
          uni.hideLoading()
        }
      )
    },
    async getDict() {
      const tags = await getTagData(['qy', ' hy', 'st', 'wr'].join(','))
      const dict = await getDictBatchByType({
        type: ['user_audit_type', 'enterprises_area'].join(',')
      })
      let tagMap = {}
      tags.data.forEach(t => {
        tagMap[t.tagCode] = t.children
      })
      this.dictMap = {
        ...tagMap,
        ...dict.data
      }
    },
    addEnterprise() {
      uni.navigateTo({
        url: `/sub/invite/addEnterprise?inviteId=${this.inviteId}`
      })
    },
    editEnterprise(id) {
      uni.navigateTo({
        url: `/sub/invite/addEnterprise?inviteId=${this.inviteId}&id=${id}`
      })
    },
    goDetail(id) {
      uni.navigateTo({
        url: `/sub/enterprise/detail?id=${id}&view=true`
      })
    },
    shareEntprise(id) {
      this.share = {
        title: '企业变更管理', // 标题
        path: `/sub/enterprise/detail?id=${id}&view=true&change=true`,
        imageUrl: ''
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.view-container {
  padding: 0 24rpx;
  display: flex;
  flex-flow: column nowrap;
  position: relative;
  padding-bottom: 13vh;
  &::-webkit-scrollbar {
    display: none;
  }
}
.emty {
  margin-top: 24rpx;
  border-radius: 8px;
  height: 550rpx;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  gap: 12px;
  color: #99a1b7;
}
.operation {
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  .btn {
    flex: 1;
    border-radius: 8px;
    display: flex;
    padding: 12px 0;
    align-items: center;
    justify-content: center;
  }
  .green {
    background-color: $cs-color-main;
    color: #fff;
  }
}
.enterprise {
  border-radius: var(--Number-12px, 12px);
  border: 1px solid var(--LightMode-Grey-Grey-200, #f1f1f4);
  background: #fff;
  display: flex;
  padding: var(--Number-16px, 16px);
  flex-direction: column;
  align-items: flex-start;
  gap: var(--Number-16px, 16px);
  position: relative;
  overflow: hidden;
  margin-top: 24rpx;
  .audit {
    position: absolute;
    right: -19px;
    top: 6px;
    transform: rotateZ(45deg);
    transform-origin: 50% 50%;
    padding: 4px 20px;
    font-size: 12px;
    text-align: center;
  }
  .info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--Number-12px, 12px);
    align-self: stretch;
    overflow: hidden;
    .tagList {
      margin-top: 8px;
      display: flex;
      gap: 4px;
      color: $uni-text-color-grey;
      display: flex;
      .tag {
        font-size: 12px;
        display: flex;
        padding: 2px 6px;
        justify-content: center;
        align-items: center;
        border-radius: 2px;
        background: #f9f9f9;
      }
    }
  }
  .opera {
    display: flex;
    flex-flow: row nowrap;
    gap: 16px;
    width: 100%;
    .box-btn {
      flex: 1;
      border-radius: var(--Number-8px, 8px);
      display: flex;
      padding: var(--Number-12px, 12px);
      justify-content: center;
      align-items: center;
      gap: var(--Number-12px, 12px);
      flex: 1 0 0;
      font-size: 14px;
    }
    .red {
      background: var(--LightMode-Orange-Orange-Light, #fff5ef);
      color: var(--LightMode-Orange-Orange, #ff6f1e);
    }
    .green {
      background: var(--LightMode-Success-Success-Light, #eafff1);
      color: var(--LightMode-Success-Success, #17c653);
    }
  }
}
</style>