<template>
  <div :class="[$style.wrapHeight, $style.company]">
    <div :class="$style.rowHeight">
      <a-card :class="$style.cardBox">
        <a-form-model
          v-bind="{
            layout: 'inline',
          }"
        >
          <a-form-model-item label="年份:">
            <div style="width: 240px">
              <audit-year-time v-model="year" :single="true" @change="yearChange" />
            </div>
          </a-form-model-item>
          <a-form-model-item label="组织机构:">
            <div style="width: 240px">
              <a-select
                v-model="mdgOrgCode"
                show-search
                placeholder="请先选择"
                :disabled="year.length === 0"
                :filter-option="filterOption"
                allow-clear
              >
                <a-select-option v-for="(item, i) in unitList" :key="i" :value="item.code">
                  <a-tooltip placement="right">
                    <template slot="title">
                      <span>{{ item.name }}</span>
                    </template>
                    <div style="width:230px">{{ item.name }}</div>
                  </a-tooltip>
                </a-select-option>
              </a-select>
            </div>
          </a-form-model-item>
          <a-form-model-item>
            <a-button type="primary" @click="searchData">
              搜索
            </a-button>
          </a-form-model-item>
        </a-form-model>
        <template v-if="isData">
          <div>
            <a-descriptions bordered size="small" :column="4" :class="$style.descriptions">
              <template v-slot:title>
                <div :class="$style.flex">
                  <div :class="$style.flexLeft">
                    公司基本信息
                  </div>
                  <div :class="$style.flexRight">
                    <div :class="$style.info">数据来源:年度工作报告</div>
                    <div :class="$style.date">{{ nowYear }}更新</div>
                  </div>
                </div>
              </template>
              <a-descriptions-item label="公司名称" :span="2">
                {{ selecSpicCompanyInfo.COMPANY_NAME }}
              </a-descriptions-item>
              <a-descriptions-item label="公司简称" :span="2">
                {{ selecSpicCompanyInfo.COMPANY_SHORT_NAME }}
              </a-descriptions-item>
              <a-descriptions-item label="成立时间" :span="2">
                {{ selecSpicCompanyInfo.BUILD_DATE }}</a-descriptions-item
              >
              <a-descriptions-item label="公司地址" :span="2">
                {{ selecSpicCompanyInfo.ADDRESS }}</a-descriptions-item
              >
              <a-descriptions-item label="公司性质" :span="2">
                {{ selecSpicCompanyInfo.INTRODUCE }}</a-descriptions-item
              >
            </a-descriptions>
          </div>
          <table :class="$style.tableBox">
            <div>
              <audit-advanced-group
                :expand="peoShow"
                :expand-str="'peoShow'"
                :group-label="'领导班子简介:'"
                tablestyle="''"
                @changedClick="changedClick"
                ><template>
                  <sd-table
                    :columns="peoColumns"
                    :data-source="peoData"
                    :row-key="(r, index) => index"
                    bordered
                    :pagination="false"
                    :scroll="{ x: 1300 }"
                  >
                  </sd-table>
                </template>
              </audit-advanced-group>
            </div>
            <div>
              <audit-advanced-group
                :expand="headShow"
                :expand-str="'headShow'"
                :group-label="'负责人简介:'"
                tablestyle="''"
                @changedClick="changedClick"
                ><template>
                  <sd-table
                    :pagination="false"
                    :scroll="{ x: 1300 }"
                    :row-key="(r, index) => index"
                    :columns="headColumns"
                    :data-source="headData"
                    bordered
                  >
                  </sd-table>
                </template>
              </audit-advanced-group>
            </div>
            <div>
              <audit-advanced-group
                :expand="staffShow"
                :expand-str="'staffShow'"
                :group-label="'员工情况:'"
                tablestyle="''"
                @changedClick="changedClick"
                ><template>
                  <sd-table
                    :pagination="false"
                    :scroll="{ x: 1300 }"
                    :columns="staffColumns"
                    :row-key="(r, index) => index"
                    :data-source="staffData"
                    bordered
                  >
                    <span slot="type" slot-scope="text">
                      {{ text === '1' ? '本部' : '全公司' }}
                    </span>
                  </sd-table>
                </template>
              </audit-advanced-group>
            </div>
            <div>
              <audit-advanced-group
                :expand="shareShow"
                :expand-str="'shareShow'"
                :group-label="'控股参股:'"
                tablestyle="''"
                @changedClick="changedClick"
                ><template>
                  <sd-table
                    :pagination="false"
                    :scroll="{ x: 1300 }"
                    :columns="shareColumns"
                    :data-source="shareData"
                    :row-key="(r, index) => index"
                    bordered
                  >
                  </sd-table>
                </template>
              </audit-advanced-group>
            </div>
          </table>
        </template>
        <a-empty v-else description="暂无数据,请重新选择条件后查询" />
      </a-card>
    </div>
  </div>
</template>

<script>
import components from './_import-components/audit-company-situation-import'
import auditAdvancedGroup from '../../components/audit-advanced-group.vue'
import auditAdvancedGroupMixins from '../../components/audit-advanced-group-mixins'
import auditYearTime from './audit-year-time.vue'
import auditPortraitService from './audit-portrait-service'
import { message } from 'ant-design-vue'
import sdTable from '@/common/components/sd-table.vue'
export default {
  name: 'AuditCompanySituation',
  metaInfo: {
    title: '公司及领导情况',
  },
  components: {
    ...components,
    auditYearTime,
    auditAdvancedGroup,
    sdTable,
  },
  mixins: [auditAdvancedGroupMixins],
  data() {
    return {
      mainSendUnit: [],
      year: [],
      peoShow: true,
      mdgOrgCode: '',
      isData: false,
      // 公司基本信息
      selecSpicCompanyInfo: {},
      unitList: [],
      peoColumns: [
        {
          title: '姓名',
          dataIndex: 'NAME',
          width: '100px',
        },
        {
          title: '性别',
          dataIndex: 'GENDER',
          width: '60px',
        },
        {
          title: '出生年月',
          dataIndex: 'BIRTHDAY',
          width: '80px',
        },
        {
          title: '职务及任职时间',
          dataIndex: 'DUTY',
          width: '180px',
        },
        {
          title: '兼职情况',
          dataIndex: 'PART_TIME_JOB',
          width: '100px',
        },
        {
          title: '学历',
          dataIndex: 'EDUCATION',
          width: '120px',
        },
        {
          title: '毕业院校及专业',
          dataIndex: 'GRADUATE_INSTITUTIONS',
          width: '140px',
        },
      ],
      peoData: [],
      headShow: true,
      headColumns: [
        {
          title: '姓名',
          dataIndex: 'NAME',
          width: '100px',
        },
        {
          title: '性别',
          dataIndex: 'GENDER',
          width: '60px',
        },
        {
          title: '出生年月',
          dataIndex: 'BIRTHDAY',
          width: '80px',
        },
        {
          title: '职务及任职时间',
          dataIndex: 'DUTY',
          width: '180px',
        },
        {
          title: '兼职情况',
          dataIndex: 'PART_TIME_JOB',
          width: '100px',
        },
        {
          title: '学历',
          dataIndex: 'EDUCATION',
          width: '120px',
        },
        {
          title: '毕业院校及专业',
          dataIndex: 'GRADUATE_INSTITUTIONS',
          width: '140px',
        },
      ],
      headData: [],
      staffShow: true,
      staffColumns: [
        {
          title: '类别',
          dataIndex: 'TYPE',
          width: '180px',
          // scopedSlots: { customRender: 'type' },
        },
        {
          title: '本部',
          children: [
            {
              title: '上年末',
              dataIndex: 'TYPE_BB_LAST_YEAR',
              width: '120px',
            },
            {
              title: '本年末',
              dataIndex: 'TYPE_BB_THIS_YEAR',
              width: '120px',
            },
          ],
        },
        {
          title: '全公司',
          children: [
            {
              title: '上年末',
              dataIndex: 'TYPE_QT_LAST_YEAR',
              width: '120px',
            },
            {
              title: '本年末',
              dataIndex: 'TYPE_QT_THIS_YEAR',
              width: '120px',
            },
          ],
        },
        {
          title: '学历',
          dataIndex: 'EDUCATION',
          width: '120px',
        },
        {
          title: '本部',
          children: [
            {
              title: '上年末',
              dataIndex: 'EDUCATION_BB_LAST_YEAR',
              width: '120px',
            },
            {
              title: '本年末',
              dataIndex: 'EDUCATION_BB_THIS_YEAR',
              width: '120px',
            },
          ],
        },
        {
          title: '全公司',
          children: [
            {
              title: '上年末',
              dataIndex: 'EDUCATION_QT_LAST_YEAR',
              width: '120px',
            },
            {
              title: '本年末',
              dataIndex: 'EDUCATION_QT_THIS_YEAR',
              width: '120px',
            },
          ],
        },
      ],
      staffData: [],
      shareShow: true,
      shareData: [],
      shareColumns: [
        {
          title: '序号',
          dataIndex: 'sortNum',
          customRender: (text, record, index) => `${index + 1}`,
          width: '80px',
          fixed: 'left',
        },
        // 除年份外
        // 公司编号
        // 统一社会信用代码
        // 年度报告库ID
        {
          title: '公司编号',
          dataIndex: 'COMPANY_CODE',
          width: '120px',
        },
        {
          title: '统一社会信用代码',
          dataIndex: 'UNIFIED_SOCIAL_CREDIT_IDENTIFIER',
          width: '180px',
        },
        {
          title: '年度报告库ID',
          dataIndex: 'ANNUAL_REPORT_ITEM_ID',
          width: '180px',
        },
        {
          title: '并购主体',
          dataIndex: 'ACQUISITIONS_SUBJECT',
          width: '280px',
        },
        {
          title: '被并购企业',
          dataIndex: 'BE_MERGED',
          width: '280px',
        },
        {
          title: '企业性质',
          dataIndex: 'ENTERPRISE_PROPERTY',
          width: '120px',
        },
        {
          title: '所属行业',
          dataIndex: 'INDUSTRY',
          width: '100px',
        },
        {
          title: '境内、境外',
          dataIndex: 'HOME_AND_ABROAD',
          width: '140px',
        },
        {
          title: '所在地',
          dataIndex: 'ADDRESS',
          width: '180px',
        },
        {
          title: '并购方式',
          dataIndex: 'ACQUISITIONS_TYPE',
          width: '180px',
        },
        {
          title: '是否主业',
          dataIndex: 'IS_MAJOR_WORKS',
          width: '120px',
        },
        {
          title: '净资产价值',
          dataIndex: 'NET_ASSET_VALUE',
          width: '180px',
        },
        {
          title: '准基日审计资产值',
          dataIndex: 'AUDIT_VALUE',
          width: '180px',
        },
        {
          title: '评估备案值',
          dataIndex: 'ASSESS_VALUE',
          width: '140px',
        },
        {
          title: '支付对价',
          dataIndex: 'PAY_VALUE',
          width: '140px',
        },
        {
          title: '所占股权比例%',
          dataIndex: 'EQUITY_RATIO',
          width: '180px',
        },
        {
          title: '并购后企业状态',
          dataIndex: 'STATE_AFTER_ACQUISITIONS',
          width: '180px',
        },
        {
          title: '存在问题或风险',
          dataIndex: 'RISK',
          width: '180px',
        },
      ],
      // 当前日期
      nowYear:
        new Date().getFullYear() + '.' + (new Date().getMonth() + 1) + '.' + new Date().getDate(),
    }
  },

  methods: {
    changeUnit(val) {},
    yearChange() {
      // 清空所选的组织机构
      this.mdgOrgCode = ''
      auditPortraitService.getSelectCompany(this.year).then((res) => {
        // COMPANY_CODE
        // COMPANY_NAME
        // 过滤等于null的数据
        this.unitList = res.data
          .map((item) => {
            return {
              code: item.COMPANY_CODE,
              name: item.COMPANY_NAME,
            }
          })
          .filter((item) => item.code !== null)
      })
    },
    filterOption(input, option) {
      return option.componentOptions.children[0].text.indexOf(input) >= 0
    },
    searchData() {
      // 长度必须大于0
      if (this.year.length === 0) {
        message.error('请选择年份')
        return
      }
      if (!this.mdgOrgCode) {
        message.error('请选择组织机构')
        return
      }
      const params = {
        code: this.mdgOrgCode,
        year: this.year[0],
      }
      // // todo
      // params.code = '100190'
      // params.year = '2021'
      auditPortraitService.getSelectCompanyInformation(params).then((res) => {
        if (res.status !== 200) return
        const data = res.data
        message.success('查询成功')
        // 如果五个接口都没有数据，显示暂无数据
        this.isData = Object.values(data).some((item) => item.length > 0)

        if (!this.isData) return
        this.selecSpicCompanyInfo = data.selec_spic_company_info_202403200950[0] || {}
        // selec_spic_company_info_202403200950 公司基本信息
        // ID
        // DATA_YEAR 年份
        // COMPANY_CODE 公司编号
        // UNIFIED_SOCIAL_CREDIT_IDENTIFIER 统一社会信用代码
        // COMPANY_NAME 公司名称
        // COMPANY_SHORT_NAME 公司简称
        // BUILD_DATE 成立时间
        // ADDRESS 公司地址
        // INTRODUCE 公司简介
        // ANNUAL_REPORT_ITEM_ID 年度报告库ID
        this.peoData = data.selec_spic_company_leader_202403200951 || []
        // selec_spic_company_leader_202403200951 公司领导
        // ID
        // DATA_YEAR 年份
        // COMPANY_CODE 公司编号
        // UNIFIED_SOCIAL_CREDIT_IDENTIFIER 统一社会信用编码
        // ANNUAL_REPORT_ITEM_ID	ORDER_INDEX 年度报告库ID
        // NAME 姓名
        // GENDER 性别
        // BIRTHDAY 出生年月
        // DUTY 职务及任职时间
        // PART_TIME_JOB 兼职情况
        // EDUCATION 学历
        // GRADUATE_INSTITUTIONS 毕业院校及专业
        this.staffData = data.selec_spic_employee_status_202403201001 || []
        // selec_spic_employee_status_202403201001 员工情况
        // ANNUAL_REPORT_ITEM_ID  年度报告库ID
        // COMPANY_CODE 公司编号
        // DATA_YEAR 年份
        // EDUCATION 员工学历
        // EDUCATION_BB_LAST_YEAR 员工学历 本部上年未人数
        // EDUCATION_BB_THIS_YEAR  本部本年未人数
        // EDUCATION_QT_LAST_YEAR 全公司 上年未人数
        // EDUCATION_QT_THIS_YEAR 全公司本年未人数
        // ID
        // TYPE 员工类别
        // TYPE_BB_LAST_YEAR 本部上年未人数
        // TYPE_BB_THIS_YEAR 本部本年未人数
        // TYPE_QT_LAST_YEAR 全公司上年未人数
        // TYPE_QT_THIS_YEAR 全公司本年未人数
        // UNIFIED_SOCIAL_CREDIT_IDENTIFIER 统一社会信用代码
        this.headData = data.selec_spic_company_principal_202403200951 || []
        // selec_spic_company_principal_202403200951 公司负责人
        // ID
        // DATA_YEAR 年份
        // COMPANY_CODE 公司编号
        // UNIFIED_SOCIAL_CREDIT_IDENTIFIER 统一社会信用代码
        // ANNUAL_REPORT_ITEM_ID 年度报告库ID
        // ORDER_INDEX  序号
        // NAME 姓名
        // GENDER 性别
        // BIRTHDAY 出生年月
        // DUTY 职务及任职时间
        // PART_TIME_JOB 兼职情况
        // EDUCATION 学历
        // GRADUATE_INSTITUTIONS 毕业院校及专业
        // WORK_IN_CHARGE 分管工作
        // JOB_RESUME 工作简历
        this.shareData = data.selec_spic_asset_acquisitions_202403200952 || []
        // selec_spic_asset_acquisitions_202403200952 参股控股
        // ID
        // DATA_YEAR 年份 X
        // COMPANY_CODE 公司编号
        // UNIFIED_SOCIAL_CREDIT_IDENTIFIER 统一社会信用代码
        // ANNUAL_REPORT_ITEM_ID	ORDER_INDEX 年度报告库ID
        // ACQUISITIONS_SUBJECT 并购主体
        // BE_MERGED 被并购企业
        // ENTERPRISE_PROPERTY 企业性质
        // INDUSTRY 所属行业
        // HOME_AND_ABROAD 境内、境外
        // ADDRESS  所在地
        // ACQUISITIONS_TYPE 并购方式
        // IS_MAJOR_WORKS 是否主业
        // NET_ASSET_VALUE 净资产价值
        // AUDIT_VALUE 准基日审计资产值
        // ASSESS_VALUE 评估备案值
        // PAY_VALUE 支付对价
        // GOOD_WILL_1 形成商誉1
        // GOOD_WILL_2 形成商誉2
        // EQUITY_RATIO 所占股权比例%
        // STATE_AFTER_ACQUISITIONS 并购后企业状态
        // RISK 存在问题或风险
      })
    },
  },
}
</script>

<style module lang="scss">
@use '@/common/design' as *;
.table-box {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.wrap-height {
  position: relative;
  height: 100%;

  .row-height {
    display: flex;
    flex: auto;
    gap: 10px;
    min-height: 100%;
  }
}

// :deep(.sd-body .ant-card-body) {
//   height: 100%;
//   padding: 2px;
// }
.descriptions {
  :global(.ant-descriptions-item-label) {
    width: 200px;
  }
  :global(.ant-descriptions-item-content) {
    width: calc(100% - 200px);
  }
}
.company {
  .card-box {
    width: 100%;
  }

  .flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    margin-top: 10px;
    font-size: 16px;
    font-weight: normal;
    .flex-right {
      display: flex;
      align-items: center;
      justify-content: space-between;
      .date {
        margin-left: 50px;
      }
    }
  }
  .table-box {
    width: 100%;
  }
}
// :global(.ant-table td) {
//   white-space: nowrap;
// }
:global(.sd-body .ant-table-empty .ant-table-body) {
  overflow-x: scroll !important;
}
</style>
