|
@@ -1,472 +0,0 @@
|
|
-<template>
|
|
|
|
- <div class="ent-list">
|
|
|
|
- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
|
- <el-tab-pane label="采购单位" name="first">
|
|
|
|
- <div class="search-result-container">
|
|
|
|
- <div class="ent-info-list" v-loading="listState.loading">
|
|
|
|
- <div
|
|
|
|
- class="ent-info-item"
|
|
|
|
- :class="{ hover: !item.showMask }"
|
|
|
|
- v-for="item in listState.list"
|
|
|
|
- @click="toDetail(item)"
|
|
|
|
- :key="item.id"
|
|
|
|
- >
|
|
|
|
- <div class="ei-i-left">
|
|
|
|
- <div class="ei-i-l-container" :class="item.randomBgc">
|
|
|
|
- {{ item.company_shortname ? item.company_shortname.slice(0,4)
|
|
|
|
- : item.company_name.slice(0,4) }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="ei-i-right">
|
|
|
|
- <div class="ei-r-title-container flex">
|
|
|
|
- <div class="ei-r-title">{{ item.company_name }}</div>
|
|
|
|
- <div
|
|
|
|
- class="ei-r-tag"
|
|
|
|
- :class="getEntStatus(item.company_status)"
|
|
|
|
- v-if="item.company_status"
|
|
|
|
- >
|
|
|
|
- {{ item.company_status }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="ei-r-info-container">
|
|
|
|
- <div class="ei-r-info-item">
|
|
|
|
- <div class="i-label">法定代表人:</div>
|
|
|
|
- <div class="i-text">
|
|
|
|
- {{ item.legal_person ? item.legal_person : '-' }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="ei-r-info-item">
|
|
|
|
- <div class="i-label">注册资本:</div>
|
|
|
|
- <div class="i-text">
|
|
|
|
- {{ calcListItemForCap(item.capital) }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="ei-r-info-item">
|
|
|
|
- <div class="i-label">成立日期:</div>
|
|
|
|
- <div class="i-text">
|
|
|
|
- {{ item.establishStamp ? new Date(item.establishStamp *
|
|
|
|
- 1000).pattern('yyyy-MM-dd') : '-' }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="ei-r-info-item">
|
|
|
|
- <div class="i-label">联系方式:</div>
|
|
|
|
- <div class="i-text">
|
|
|
|
- {{ item.company_phone ? item.company_phone : '-' }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="ei-r-info-container">
|
|
|
|
- <div class="ei-r-info-item">
|
|
|
|
- <div class="i-label">地址:</div>
|
|
|
|
- <div class="i-text">
|
|
|
|
- {{ item.company_address ? item.company_address : '-' }}
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="_u4m8od8j3s"></div>
|
|
|
|
- <Empty v-show="listState.list.length === 0 && listState.loaded" tip="没有找到符合条件的企业"></Empty>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- <div class="el-pagination-container">
|
|
|
|
- <el-pagination
|
|
|
|
- background
|
|
|
|
- layout="prev, pager, next, ->"
|
|
|
|
- :hide-on-single-page="true"
|
|
|
|
- :current-page="listState.pageNum"
|
|
|
|
- :page-size="listState.pageSize"
|
|
|
|
- :total="listState.total"
|
|
|
|
- @current-change="onPageChange"
|
|
|
|
- ></el-pagination>
|
|
|
|
- </div>
|
|
|
|
- </el-tab-pane>
|
|
|
|
- <el-tab-pane label="中标单位" name="second" disabled></el-tab-pane>
|
|
|
|
- </el-tabs>
|
|
|
|
- </div>
|
|
|
|
-</template>
|
|
|
|
-
|
|
|
|
-<script>
|
|
|
|
-import { Tabs, TabPane, Pagination } from 'element-ui'
|
|
|
|
-import Empty from '@/components/common/Empty'
|
|
|
|
-import { mapState } from 'vuex'
|
|
|
|
-import chinaMapJSON from '@/assets/js/china_area.js'
|
|
|
|
-export default {
|
|
|
|
- name: 'ent-list',
|
|
|
|
- props: {
|
|
|
|
- list: {
|
|
|
|
- type: Object,
|
|
|
|
- default () {
|
|
|
|
- return {}
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- components: {
|
|
|
|
- [Tabs.name]: Tabs,
|
|
|
|
- [TabPane.name]: TabPane,
|
|
|
|
- [Pagination.name]: Pagination,
|
|
|
|
- Empty
|
|
|
|
- },
|
|
|
|
- data () {
|
|
|
|
- return {
|
|
|
|
- activeName: 'first',
|
|
|
|
- listState: {
|
|
|
|
- loaded: false, // 是否已经搜索过
|
|
|
|
- loading: false,
|
|
|
|
- pageNum: 1, // 当前页, 从0开始
|
|
|
|
- pageSize: 5, // 每页多少条数据
|
|
|
|
- total: 0, // 一共多少条数据
|
|
|
|
- list: [] // 查询请求返回的数据
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- computed: {
|
|
|
|
- ...mapState({})
|
|
|
|
- },
|
|
|
|
- created () {
|
|
|
|
- this.getList()
|
|
|
|
- },
|
|
|
|
- mounted () {},
|
|
|
|
- methods: {
|
|
|
|
- getEntStatus (status) {
|
|
|
|
- if (status === '吊销') {
|
|
|
|
- return 'tag-danger'
|
|
|
|
- } else if (status === '注销') {
|
|
|
|
- return 'tag-danger'
|
|
|
|
- } else if (status === '撤销') {
|
|
|
|
- return 'tag-disabled'
|
|
|
|
- } else {
|
|
|
|
- return ''
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- calcListItemForCap (p) {
|
|
|
|
- if (p) {
|
|
|
|
- return p + '万元'
|
|
|
|
- } else {
|
|
|
|
- return '-'
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- // 随机颜色
|
|
|
|
- randomBgc () {
|
|
|
|
- var arr = ['default', 'blue', 'orange', 'green']
|
|
|
|
- var randomIndex = this.getRandomNumber(0, arr.length - 1)
|
|
|
|
- return 'bgc-' + arr[randomIndex]
|
|
|
|
- },
|
|
|
|
- getRandomNumber (min, max) {
|
|
|
|
- return Math.floor(Math.random() * (max - min + 1) + min)
|
|
|
|
- },
|
|
|
|
- getShortName (comName) {
|
|
|
|
- var areaMap = chinaMapJSON || []
|
|
|
|
- var shortname = comName
|
|
|
|
- // 1. 循环省份城市进行替换
|
|
|
|
- areaMap.forEach(function (item) {
|
|
|
|
- var p = item.name.replace(/[省市]/, '')
|
|
|
|
- if (shortname.indexOf(p) !== -1) {
|
|
|
|
- shortname = shortname.replace(item.name, '').replace(p, '')
|
|
|
|
- }
|
|
|
|
- item.city.forEach(function (iitem) {
|
|
|
|
- var c = iitem.name.replace(/[省市]/, '')
|
|
|
|
- if (shortname.indexOf(c) !== -1) {
|
|
|
|
- shortname = shortname.replace(iitem.name, '').replace(c, '')
|
|
|
|
- }
|
|
|
|
- iitem.area.forEach(function (iiitem) {
|
|
|
|
- if (shortname.indexOf(iiitem) !== -1) {
|
|
|
|
- shortname = shortname.replace(iiitem, '')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- var matchRes = shortname.match(/[\u4e00-\u9fa5]{4}/gm)
|
|
|
|
- let shortName = matchRes ? matchRes[0] : shortname.slice(0, 4)
|
|
|
|
- if (shortName.length < 4) {
|
|
|
|
- shortName = shortName.slice(0, 4)
|
|
|
|
- }
|
|
|
|
- return shortName
|
|
|
|
- },
|
|
|
|
- getList () {
|
|
|
|
- // this.listState.loading = true
|
|
|
|
- // this.listState.loaded = false
|
|
|
|
- const res = {
|
|
|
|
- data: {
|
|
|
|
- total: 2,
|
|
|
|
- list: [
|
|
|
|
- /* eslint-disable */
|
|
|
|
- {
|
|
|
|
- "capital": 19399093,
|
|
|
|
- "company_address": "郑州市陇海中路106号",
|
|
|
|
- "company_name": "中国铁路郑州局集团有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 830102400,
|
|
|
|
- "id": "ABCZnZaYikvNDY4EmRmcFwJJTACDjF3XFJ0KAUjKjogd3xndS8oNwkjJGBxXnEkDlxTDHQ%3D",
|
|
|
|
- "legal_person": "孙景"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 878300,
|
|
|
|
- "company_address": "郑州航空港区护航路16号兴港大厦",
|
|
|
|
- "company_name": "郑州航空港区国有资产经营管理有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1368374400,
|
|
|
|
- "id": "ABCY1xGYDIOOyw7Amd1c2JbDzIvCSFjdmNlPB4gNj0eZFZwYls4NAkrIndhXnAhOFxTDPI%3D",
|
|
|
|
- "legal_person": "许永喜"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 620809.56,
|
|
|
|
- "company_address": "河南省郑州市二七区建设东路50号",
|
|
|
|
- "company_name": "郑州大学第一附属医院",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1585497600,
|
|
|
|
- "id": "ABCY3FCYi4%2FLyk4EnN5c18sPiQZDSRjYWh%2BKSgsPyFFaGdnXCw%2BICgoMWMBVnEmDlxTDJQ%3D",
|
|
|
|
- "legal_person": "刘章锁"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 600000,
|
|
|
|
- "company_address": "郑州市中牟县商都大街399号",
|
|
|
|
- "company_name": "郑州牟中发展投资有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1274803200,
|
|
|
|
- "id": "ABCdGZJczIFKD8vRHRoZ1wwMyc4IDR0V0FgK1gvKC4gcFVzdTAxND8vJ3dhBX8vDlxTDQ8%3D",
|
|
|
|
- "legal_person": "张伍发"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 377926,
|
|
|
|
- "company_address": "郑州航空港区护航路16号兴港大厦",
|
|
|
|
- "company_name": "郑州航空港区航程置业有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1323964800,
|
|
|
|
- "id": "ABCYHYAfT1YUT07NGd6ZHIoPicCASFmdnRyKCgZIyEgY3lwYiQxND80MndXQnAhOFxTDUA%3D",
|
|
|
|
- "legal_person": "许永喜"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 310000,
|
|
|
|
- "company_address": "郑州市郑东新区龙子湖智慧岛尚贤街6号",
|
|
|
|
- "company_name": "郑州一建集团有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1088524800,
|
|
|
|
- "id": "ABCdAEBYTIFMyg4I395ZE8%2FJScCDSJmYXdlKD8nKj0wXlVkdSsqNBkaMWZhWnAsDlxTC%2BY%3D",
|
|
|
|
- "legal_person": "段利民"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 266632.1,
|
|
|
|
- "company_address": "河南省郑州市高新技术产业开发区科学大道136号",
|
|
|
|
- "company_name": "郑州轻工业大学",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1596988800,
|
|
|
|
- "id": "ABCdEdCYjxYLD84JHt4Z1wnJDNfSCNjV1J%2BKS8wODoeY35nZSMlIBkVIHRHRnIbDlxTDQg%3D",
|
|
|
|
- "legal_person": "黄荣杰"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 193000,
|
|
|
|
- "company_address": "郑州市郑东新区平安大道189号正商环湖国际17层",
|
|
|
|
- "company_name": "郑州市建设投资集团有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1301414400,
|
|
|
|
- "id": "ABCYAEBZCkvND0vAn94ZwcjIyRfDRZgYWdhKDgjKC4nZFRnTzw4NwI0MWNHQnAyKFxTC38%3D",
|
|
|
|
- "legal_person": "秦广远"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 173247.137,
|
|
|
|
- "company_address": "郑州市经济技术开发区第九大街167号",
|
|
|
|
- "company_name": "郑州煤矿机械集团股份有限公司",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1036512000,
|
|
|
|
- "id": "ABCYAFaYj0eID87Antxc1w4PjNfCjF0XFJ%2BPC8nID0eUXlkciMtNwI3J3RXAXFeHlxTDK4%3D",
|
|
|
|
- "legal_person": "焦承尧"
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- "capital": 138325,
|
|
|
|
- "company_address": "河南省郑州市郑东新区鹏程大道56号",
|
|
|
|
- "company_name": "郑州铁路职业技术学院",
|
|
|
|
- "company_shortname": "",
|
|
|
|
- "company_status": "存续",
|
|
|
|
- "establishStamp": 1519833600,
|
|
|
|
- "id": "ABCYFxoYjIFAjYvNHxlcE8gMycoDRZmYVViKB4zKC8ecFFzciMtNDg4MHQBBXAbHlxTC8U%3D",
|
|
|
|
- "legal_person": "马玉霞"
|
|
|
|
- }
|
|
|
|
- /* eslint-enable */
|
|
|
|
- ]
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- this.setList(res)
|
|
|
|
- // this.listState.loading = false
|
|
|
|
- // this.listState.loaded = true
|
|
|
|
- },
|
|
|
|
- setList (res) {
|
|
|
|
- if (res.data) {
|
|
|
|
- if (res.data.total) {
|
|
|
|
- this.listState.total = res.data.total
|
|
|
|
- }
|
|
|
|
- if (res.data.list) {
|
|
|
|
- res.data.list.forEach((d) => {
|
|
|
|
- d.company_shortname = this.getShortName(d.company_name)
|
|
|
|
- d.randomBgc = this.randomBgc()
|
|
|
|
- })
|
|
|
|
- this.listState.list = res.data.list || []
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- this.listState.total = 0
|
|
|
|
- this.listState.list = []
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- toDetail (item) {
|
|
|
|
- console.log(item)
|
|
|
|
- const data = JSON.stringify(item)
|
|
|
|
- const routeUrl = this.$router.resolve({
|
|
|
|
- path: `/free/custom_unit_portrayal/${item.company_name}`,
|
|
|
|
- query: {
|
|
|
|
- info: data
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- return window.open(routeUrl.href, '_blank')
|
|
|
|
- },
|
|
|
|
- handleClick (tab, event) {
|
|
|
|
- console.log(tab, event)
|
|
|
|
- },
|
|
|
|
- onPageChange (p) {
|
|
|
|
- this.listState.pageNum = p
|
|
|
|
- this.getList()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-</script>
|
|
|
|
-
|
|
|
|
-<style lang="scss" scoped>
|
|
|
|
-.ent-list {
|
|
|
|
- padding: 40px 0 80px;
|
|
|
|
- .ent-info-list {
|
|
|
|
- min-height: 400px;
|
|
|
|
- .flex{
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- }
|
|
|
|
- .ent-info-item {
|
|
|
|
- position: relative;
|
|
|
|
- padding: 18px 16px;
|
|
|
|
- display: flex;
|
|
|
|
- border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
|
|
|
- cursor: pointer;
|
|
|
|
- }
|
|
|
|
- .ent-info-item.hover:hover {
|
|
|
|
- background-color: #f5f6f7;
|
|
|
|
- box-shadow: inset 0 -1px 0 0 rgb(0, 0, 0, 0.05);
|
|
|
|
- }
|
|
|
|
- .ent-info-item{
|
|
|
|
- .ei-i-l-container {
|
|
|
|
- padding: 8px 12px;
|
|
|
|
- height: 60px;
|
|
|
|
- width: 60px;
|
|
|
|
- color: #fff;
|
|
|
|
- font-size: 18px;
|
|
|
|
- line-height: 22px;
|
|
|
|
- overflow: hidden;
|
|
|
|
- border-radius: 5px;
|
|
|
|
- }
|
|
|
|
- .ei-i-l-container.bgc-default {
|
|
|
|
- background-color: #2cb7ca;
|
|
|
|
- }
|
|
|
|
- .ei-i-l-container.bgc-blue {
|
|
|
|
- background-color: #f5af5c;
|
|
|
|
- }
|
|
|
|
- .ei-i-l-container.bgc-orange {
|
|
|
|
- background-color: #58a1e7;
|
|
|
|
- }
|
|
|
|
- .ei-i-l-container.bgc-green {
|
|
|
|
- background-color: #51cea2;
|
|
|
|
- }
|
|
|
|
- .ei-i-l-container > img {
|
|
|
|
- display: block;
|
|
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- }
|
|
|
|
- .ei-i-right {
|
|
|
|
- margin-left: 32px;
|
|
|
|
- }
|
|
|
|
- .ei-r-info-container {
|
|
|
|
- margin-top: 12px;
|
|
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- font-size: 14px;
|
|
|
|
- line-height: 22px;
|
|
|
|
- }
|
|
|
|
- .ei-r-info-item {
|
|
|
|
- display: flex;
|
|
|
|
- .i-label {
|
|
|
|
- color: #a0a0a0;
|
|
|
|
- }
|
|
|
|
- .i-text {
|
|
|
|
- color: #7d7d7d;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .ei-r-info-item:not(:last-of-type) {
|
|
|
|
- margin-right: 32px;
|
|
|
|
- }
|
|
|
|
- .ei-r-title {
|
|
|
|
- margin-right: 12px;
|
|
|
|
- color: #1d1d1d;
|
|
|
|
- font-size: 18px;
|
|
|
|
- }
|
|
|
|
- .ei-r-tag {
|
|
|
|
- padding: 4px 8px;
|
|
|
|
- color: #2cb7ca;
|
|
|
|
- font-size: 12px;
|
|
|
|
- text-align: center;
|
|
|
|
- border: 1px solid #2cb7ca;
|
|
|
|
- background-color: rgba(44, 183, 202, 0.08);
|
|
|
|
- border-radius: 5px;
|
|
|
|
- }
|
|
|
|
- .ei-r-tag.tag-danger {
|
|
|
|
- color: #ff3a20;
|
|
|
|
- border: 1px solid #ff3a20;
|
|
|
|
- background-color: rgba(255, 58, 32, 0.08);
|
|
|
|
- }
|
|
|
|
- .ei-r-tag.tag-warning {
|
|
|
|
- color: #ff9f40;
|
|
|
|
- border: 1px solid #ff9f40;
|
|
|
|
- background: rgba(255, 159, 64, 0.08);
|
|
|
|
- background-color: transparent;
|
|
|
|
- }
|
|
|
|
- .ei-r-tag.tag-disabled {
|
|
|
|
- color: #aaa;
|
|
|
|
- border: 1px solid #aaa;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- ::v-deep {
|
|
|
|
- .el-tabs__nav-wrap::after {
|
|
|
|
- height: 0;
|
|
|
|
- }
|
|
|
|
- .el-tabs__nav-scroll {
|
|
|
|
- border: 1px solid #ebebeb;
|
|
|
|
- }
|
|
|
|
- .el-tabs__item {
|
|
|
|
- padding: 0 16px !important;
|
|
|
|
- }
|
|
|
|
- .el-tabs__item:hover {
|
|
|
|
- color: #2cb7ca;
|
|
|
|
- }
|
|
|
|
- .el-tabs__item.is-active {
|
|
|
|
- color: #2cb7ca;
|
|
|
|
- }
|
|
|
|
- .el-tabs__active-bar {
|
|
|
|
- background-color: #2cb7ca;
|
|
|
|
- }
|
|
|
|
- .el-tabs__item.is-disabled {
|
|
|
|
- color: #c0c4cc;
|
|
|
|
- cursor: default;
|
|
|
|
- }
|
|
|
|
- .el-tabs__header {
|
|
|
|
- margin: 0;
|
|
|
|
- }
|
|
|
|
- .el-tabs__content {
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-</style>
|
|
|