|
@@ -0,0 +1,337 @@
|
|
|
+<template>
|
|
|
+ <div class="medical_portrait">
|
|
|
+ <div class="me_ent_info" v-loading="infoloading">
|
|
|
+ <div class="me_info_head">
|
|
|
+ <div class="me_head_left">
|
|
|
+ <div class="me_l_img">
|
|
|
+ <img src="" alt="">
|
|
|
+ </div>
|
|
|
+ <div class="me_l_name">
|
|
|
+ <span>{{info.company_name}}</span>
|
|
|
+ <div class="me_l_tags">
|
|
|
+ <span v-if="info.area">{{info.area}}</span>
|
|
|
+ <span v-if="info.level">{{info.level}}</span>
|
|
|
+ <span>{{setBusstype}}</span>
|
|
|
+ <span v-if="info.mi_type">{{info.mi_type}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="me-head-right">
|
|
|
+ <div class="u-follow" @click="setFollow">
|
|
|
+ <span :class="{ icon_heart_red: follow.followed, icon_heart_gray: !follow.followed }"></span>
|
|
|
+ <span class="follow-text">{{ follow.followed ? '已关注' : '关注' }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="me_info_statick">
|
|
|
+ <ul class="me_info_s_ul">
|
|
|
+ <li class="s_ul_li">
|
|
|
+ <span class="list-num">{{info.establish_date || '--'}}</span>
|
|
|
+ <span class="list-label">成立年份</span>
|
|
|
+ </li>
|
|
|
+ <li class="s_ul_li">
|
|
|
+ <span class="list-num">{{info.beds || '--'}}</span>
|
|
|
+ <span class="list-label">床位数</span>
|
|
|
+ </li>
|
|
|
+ <li class="s_ul_li">
|
|
|
+ <span class="list-num">{{info.visit_perday || '--'}}</span>
|
|
|
+ <span class="list-label">门诊量(日)</span>
|
|
|
+ </li>
|
|
|
+ <li class="s_ul_li">
|
|
|
+ <span class="list-num">{{info.doctorsnum || '--'}}</span>
|
|
|
+ <span class="list-label">员工数</span>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <div class="me_info_main">
|
|
|
+ <ul class="me_i_m_ul">
|
|
|
+ <li class="me_i_m_li">
|
|
|
+ <div class="me_label">地址:</div>
|
|
|
+ <div class="me_content">{{info.address}}</div>
|
|
|
+ </li>
|
|
|
+ <li class="me_i_m_li">
|
|
|
+ <div class="me_label">网址:</div>
|
|
|
+ <div class="me_content">{{info.website || '--'}}</div>
|
|
|
+ </li>
|
|
|
+ <li class="me_i_m_li">
|
|
|
+ <div class="me_label">医院科室:</div>
|
|
|
+ <div class="me_content">{{info.departnames}}</div>
|
|
|
+ </li>
|
|
|
+ <li class="me_i_m_li">
|
|
|
+ <div class="me_label">医院设备:</div>
|
|
|
+ <div class="me_content">{{info.equipment}}</div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="me_ent_container">
|
|
|
+ <medical-multiple-list :companyName="info.company_name" :config="{baseParam:{entId: decodeURIComponent(this.$route.query.id)},isWinner:false, isMedical: true, hasPower:showConf13}"></medical-multiple-list>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import MedicalMultipleList from '../portrayal/components/DynamicList.vue'
|
|
|
+import { getInstitution, setClaim, unclaimed, isClaimed } from '@/api/modules'
|
|
|
+import { mapState } from 'vuex'
|
|
|
+export default {
|
|
|
+ name: 'medical_portrait',
|
|
|
+ components: {
|
|
|
+ MedicalMultipleList
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ follow: {
|
|
|
+ followed: false,
|
|
|
+ loading: false
|
|
|
+ },
|
|
|
+ infoloading: false,
|
|
|
+ info: {}
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created () {
|
|
|
+ this.getMedicalInst()
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState({
|
|
|
+ infoPower: state => state.user.info
|
|
|
+ }),
|
|
|
+ setBusstype () {
|
|
|
+ switch (this.info.business_type) {
|
|
|
+ case 0:
|
|
|
+ return '公立'
|
|
|
+ case 1:
|
|
|
+ return '民营'
|
|
|
+ case 2:
|
|
|
+ return '其他'
|
|
|
+ default:
|
|
|
+ return '其他'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getCompany () {
|
|
|
+ return this.info.company_name
|
|
|
+ },
|
|
|
+ // 项目动态
|
|
|
+ showConf13 () {
|
|
|
+ return this.infoPower.power.indexOf(13) !== -1
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 获取医疗机构基本信息
|
|
|
+ getMedicalInst () {
|
|
|
+ this.infoloading = true
|
|
|
+ const params = { company_id: '25caa43ce64036dfd1f55635e06394a6' }
|
|
|
+ getInstitution(params).then(res => {
|
|
|
+ if (res.error_code === 0) {
|
|
|
+ this.follow.followed = !!res.data.follow
|
|
|
+ this.info = res.data
|
|
|
+ } else {
|
|
|
+ this.$toast(res.error_msg)
|
|
|
+ }
|
|
|
+ // this.$nextTick(() => {
|
|
|
+ // this.getNewList()
|
|
|
+ // })
|
|
|
+ this.infoloading = false
|
|
|
+ }).catch((err) => {
|
|
|
+ console.log(err)
|
|
|
+ this.infoloading = false
|
|
|
+ })
|
|
|
+ },
|
|
|
+ setFollow () {
|
|
|
+ const param = {
|
|
|
+ company_id: '25caa43ce64036dfd1f55635e06394a6',
|
|
|
+ type: 1
|
|
|
+ }
|
|
|
+ // 查询是否认领
|
|
|
+ isClaimed(param).then(res => {
|
|
|
+ if (res.error_code === 0) {
|
|
|
+ if (res.data.status) {
|
|
|
+ this.setCancelClaim()
|
|
|
+ } else {
|
|
|
+ this.setOptionClaim()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 认领
|
|
|
+ setOptionClaim () {
|
|
|
+ const param = {
|
|
|
+ type: 1,
|
|
|
+ ent_id: '25caa43ce64036dfd1f55635e06394a6'
|
|
|
+ }
|
|
|
+ setClaim(param).then(res => {
|
|
|
+ if (res.error_code === 0) {
|
|
|
+ this.$toast('关注成功')
|
|
|
+ } else {
|
|
|
+ this.$toast(res.error_msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 取消认领
|
|
|
+ setCancelClaim () {
|
|
|
+ const param = {
|
|
|
+ ent_id: '25caa43ce64036dfd1f55635e06394a6'
|
|
|
+ }
|
|
|
+ unclaimed(param).then(res => {
|
|
|
+ if (res.error_code === 0) {
|
|
|
+ this.$toast('取消关注成功')
|
|
|
+ } else {
|
|
|
+ this.$toast(res.error_msg)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.medical_portrait{
|
|
|
+ width: 1200px;
|
|
|
+ margin: 24px auto;
|
|
|
+ .me_ent_info{
|
|
|
+ padding: 24px 30px 29px;
|
|
|
+ height: 100%;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 8px;
|
|
|
+ }
|
|
|
+ .me_info_head{
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ height: 64px;
|
|
|
+ }
|
|
|
+ .me_head_left{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: flex-start;
|
|
|
+ .me_l_img{
|
|
|
+ margin-right: 18px;
|
|
|
+ width: 64px;
|
|
|
+ height: 64px;
|
|
|
+ img{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .me_l_name{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ font-size: 24px;
|
|
|
+ color: #171826;
|
|
|
+ line-height: 36px;
|
|
|
+ .me_l_tags{
|
|
|
+ span{
|
|
|
+ margin-right: 8px;
|
|
|
+ padding: 1px 8px;
|
|
|
+ background: #F5F5FB;
|
|
|
+ border-radius: 4px;
|
|
|
+ border: 1px solid #ECECEC;
|
|
|
+ font-size: 12px;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #686868;
|
|
|
+ line-height: 18px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .u-follow{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ line-height: 34px;
|
|
|
+ cursor: pointer;
|
|
|
+ .icon_heart_gray {
|
|
|
+ margin-right: 4px;
|
|
|
+ display: flex;
|
|
|
+ width: 18px;
|
|
|
+ height: 18px;
|
|
|
+ background: url('~@/assets/images/icon/icon-heart.png') no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon_heart_red {
|
|
|
+ margin-right: 4px;
|
|
|
+ display: flex;
|
|
|
+ width: 18px;
|
|
|
+ height: 18px;
|
|
|
+ background: url('~@/assets/images/icon/icon-favorite.png') no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .me_info_statick{
|
|
|
+ margin-top: 24px;
|
|
|
+ .me_info_s_ul{
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ .s_ul_li{
|
|
|
+ position: relative;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ width: 168px;
|
|
|
+ height: 72px;
|
|
|
+ .list-num{
|
|
|
+ font-size: 20px;
|
|
|
+ color: #1D1D1D;
|
|
|
+ line-height: 32px;
|
|
|
+ }
|
|
|
+ .list-label{
|
|
|
+ font-size: 14px;
|
|
|
+ color: #999999;
|
|
|
+ line-height: 22px;
|
|
|
+ }
|
|
|
+ &::after{
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 16px;
|
|
|
+ content: '';
|
|
|
+ width: 1px;
|
|
|
+ height: 40px;
|
|
|
+ background: #ECECEC;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .me_info_main{
|
|
|
+ margin-top: 24PX;
|
|
|
+ background: #F7F9FC;
|
|
|
+ .me_i_m_ul{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: space-between;
|
|
|
+ padding: 16px 16px 8px;
|
|
|
+ height: 100%;
|
|
|
+ .me_i_m_li{
|
|
|
+ display: flex;
|
|
|
+ justify-content: flex-start;
|
|
|
+ align-items: flex-start;
|
|
|
+ margin-bottom: 8px;
|
|
|
+ line-height: 22px;
|
|
|
+ font-size: 14px;
|
|
|
+ .me_label{
|
|
|
+ margin-right: 10px;
|
|
|
+ text-align: right;
|
|
|
+ width: 100px;
|
|
|
+ color: #999999;
|
|
|
+ }
|
|
|
+ .me_content{
|
|
|
+ flex: 1;
|
|
|
+ text-align: justify;
|
|
|
+ color: #1D1D1D;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .me_ent_container{
|
|
|
+ padding: 24px 30px 40px;
|
|
|
+ margin-top: 16px;
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 8px;
|
|
|
+ .collect-table-list{
|
|
|
+ .table{
|
|
|
+ max-width: 100%!important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|