123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658 |
- <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>
|