| /** | /** | ||||
| * api接口统一管理 | * api接口统一管理 | ||||
| */ | */ | ||||
| import {get } from "../utils/http"; | |||||
| import {get, post } from "../utils/http"; | |||||
| // 获取园区企业列表 | // 获取园区企业列表 | ||||
| export const getCompanyList = p => get("/areaCompany/getCompanyList", p); | export const getCompanyList = p => get("/areaCompany/getCompanyList", p); | ||||
| // 获取所属行业 | // 获取所属行业 | ||||
| export const getOwnerIntermediaryList = p => get("/areaCompany/getOwnerIntermediaryList", p); | export const getOwnerIntermediaryList = p => get("/areaCompany/getOwnerIntermediaryList", p); | ||||
| // 企业认领 | |||||
| export const addCompanyClaim = p => post("/areaCompany/addCompanyClaim", p); | |||||
| // 编辑企业信息 | |||||
| export const updateCompany = p => post("/areaCompany/updateCompany", p); | |||||
| // 获取园区资讯列表 | // 获取园区资讯列表 | ||||
| export const getCompanyNewsList = p => get("/areaCompany/getCompanyNewsList", p); | export const getCompanyNewsList = p => get("/areaCompany/getCompanyNewsList", p); | ||||
| <!-- 园区企业详情 --> | <!-- 园区企业详情 --> | ||||
| <template> | <template> | ||||
| <div class=""> | |||||
| <div class="" v-loading="pageLoading"> | |||||
| <section class="nav_box"> | <section class="nav_box"> | ||||
| <Nav></Nav> | <Nav></Nav> | ||||
| <div class="second_nv"> | <div class="second_nv"> | ||||
| <div> | <div> | ||||
| <div class="position"> | <div class="position"> | ||||
| <img src="" alt="" /> | |||||
| <img src="@assets/image/company/icon_address.png" alt="地址" /> | |||||
| <span> | <span> | ||||
| 当前位置: | 当前位置: | ||||
| <span class="pointer" @click="$router.push('/company-list')"> | <span class="pointer" @click="$router.push('/company-list')"> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="detail_box"> | |||||
| <div class="detail_box" v-if="companyInfo"> | |||||
| <section class="top_box"> | <section class="top_box"> | ||||
| <div class="company_img_box"> | <div class="company_img_box"> | ||||
| <img class="company_img" src="" alt="" /> | <img class="company_img" src="" alt="" /> | ||||
| <div class="tip_img"></div> | |||||
| <div class="tip_img"> | |||||
| <span | |||||
| :class="[ | |||||
| 'claim_state', | |||||
| companyInfo.claimState.text === '已认领' | |||||
| ? 'claimed' | |||||
| : 'not_claim', | |||||
| ]" | |||||
| > | |||||
| {{ companyInfo.claimState.text }} | |||||
| </span> | |||||
| </div> | |||||
| </div> | </div> | ||||
| <div class="right_box"> | <div class="right_box"> | ||||
| <div class="top_row"> | <div class="top_row"> | ||||
| <span>{{ companyInfo.companyName }}</span> | <span>{{ companyInfo.companyName }}</span> | ||||
| <div> | <div> | ||||
| <span class="pointer"> | |||||
| <img src="@assets/image/company/icon_save.png" alt="保存" /> | |||||
| 保存 | |||||
| </span> | |||||
| <span class="pointer"> | |||||
| <img src="@assets/image/company/icon_cancel.png" alt="取消" /> | |||||
| 取消 | |||||
| </span> | |||||
| <span class="pointer"> | |||||
| <img src="@assets/image/company/icon_edit.png" alt="编辑" /> | |||||
| 编辑 | |||||
| </span> | |||||
| <span class="pointer"> | |||||
| <template v-if="canEdit == 1"> | |||||
| <template v-if="isEditing"> | |||||
| <span class="pointer" @click="updateCompany"> | |||||
| <img | |||||
| src="@assets/image/company/icon_save.png" | |||||
| alt="保存" | |||||
| /> | |||||
| 保存 | |||||
| </span> | |||||
| <span class="pointer" @click="cancelEdit"> | |||||
| <img | |||||
| src="@assets/image/company/icon_cancel.png" | |||||
| alt="取消" | |||||
| /> | |||||
| 取消 | |||||
| </span> | |||||
| </template> | |||||
| <span v-else class="pointer" @click="isEditing = true"> | |||||
| <img src="@assets/image/company/icon_edit.png" alt="编辑" /> | |||||
| 编辑 | |||||
| </span> | |||||
| </template> | |||||
| <span | |||||
| class="pointer" | |||||
| v-if="canEdit == 0 && companyInfo.claimState.text !== '已认领'" | |||||
| @click="setClaimDialog" | |||||
| > | |||||
| <img src="@assets/image/company/icon_claim.png" alt="认领" /> | <img src="@assets/image/company/icon_claim.png" alt="认领" /> | ||||
| 认领 | 认领 | ||||
| </span> | </span> | ||||
| </div> | </div> | ||||
| <div class="middle_row"> | <div class="middle_row"> | ||||
| <div class="company_type"> | <div class="company_type"> | ||||
| <span>{{ companyInfo.enterpriseLabel }}</span> | |||||
| <span>科技型中小企业</span> | |||||
| <span>科技型中小企业</span> | |||||
| <span>科技型中小企业</span> | |||||
| <template v-if="enterpriseLabel.length > 0"> | |||||
| <span v-for="item in enterpriseLabel" :key="item"> | |||||
| {{ item }} | |||||
| </span> | |||||
| </template> | |||||
| </div> | </div> | ||||
| <div class="time"> | <div class="time"> | ||||
| <img src="" alt="" /> | |||||
| <img src="@assets/image/company/icon_update.png" alt="保存" /> | |||||
| <span> | <span> | ||||
| 更新时间:{{ | 更新时间:{{ | ||||
| companyInfo.modifiedOn | formatDate("YYYY-MM-DD") | companyInfo.modifiedOn | formatDate("YYYY-MM-DD") | ||||
| </div> | </div> | ||||
| <div> | <div> | ||||
| 邮箱: | 邮箱: | ||||
| <span>{{ companyInfo.email }}</span> | |||||
| <span>{{ companyInfo.email || "--" }}</span> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </section> | </section> | ||||
| <div class="tab_box"> | |||||
| <div class="tab_box" ref="boxFixed"> | |||||
| <span | <span | ||||
| :class="['pointer', activeTab === item.value ? 'active' : '']" | :class="['pointer', activeTab === item.value ? 'active' : '']" | ||||
| v-for="item in tabs" | |||||
| v-for="(item, index) in tabs" | |||||
| :key="item.value" | :key="item.value" | ||||
| @click="changeTab(item)" | |||||
| @click="changeTab(item, index)" | |||||
| > | > | ||||
| {{ item.name }} | {{ item.name }} | ||||
| </span> | </span> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </section> | </section> | ||||
| <section class="content_box"> | |||||
| <basic-info :companyInfo="companyInfo"></basic-info> | |||||
| <company-dev :companyInfo="companyInfo"></company-dev> | |||||
| <section class="content_box" v-if="companyInfo"> | |||||
| <basic-info | |||||
| class="content_item" | |||||
| refs="content1" | |||||
| :companyInfo="companyInfo" | |||||
| ></basic-info> | |||||
| <company-dev | |||||
| class="content_item" | |||||
| refs="content2" | |||||
| :companyInfo="companyInfo" | |||||
| ></company-dev> | |||||
| <!-- <intellectual-property :companyInfo="companyInfo"></intellectual-property> --> | <!-- <intellectual-property :companyInfo="companyInfo"></intellectual-property> --> | ||||
| <other-info :companyInfo="companyInfo"></other-info> | |||||
| <other-info | |||||
| class="content_item" | |||||
| refs="content4" | |||||
| :companyInfo="companyInfo" | |||||
| :isEditing="isEditing" | |||||
| ></other-info> | |||||
| </section> | </section> | ||||
| <Footer></Footer> | <Footer></Footer> | ||||
| <claim-dialog></claim-dialog> | |||||
| <claim-dialog v-if="showClaimDialog" :claimDialog="claimDialog"></claim-dialog> | |||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| // import IntellectualProperty from "./components/IntellectualProperty.vue"; | // import IntellectualProperty from "./components/IntellectualProperty.vue"; | ||||
| import OtherInfo from "./components/OtherInfo.vue"; | import OtherInfo from "./components/OtherInfo.vue"; | ||||
| import ClaimDialog from "./components/ClaimDialog.vue"; | import ClaimDialog from "./components/ClaimDialog.vue"; | ||||
| import { getCompanyById } from "@api/company"; | |||||
| import { getCompanyById, updateCompany } from "@api/company"; | |||||
| export default { | export default { | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| ], | ], | ||||
| activeTab: 1, | activeTab: 1, | ||||
| companyInfo: null, | companyInfo: null, | ||||
| showClaimDialog: false, | |||||
| claimDialog: false, | |||||
| canEdit: 0, | |||||
| isEditing: false, | |||||
| }; | }; | ||||
| }, | }, | ||||
| //监听属性 类似于data概念 | //监听属性 类似于data概念 | ||||
| computed: {}, | |||||
| computed: { | |||||
| enterpriseLabel() { | |||||
| return this.companyInfo?.enterpriseLabel?.text ?? []; | |||||
| }, | |||||
| }, | |||||
| //监控data中的数据变化 | //监控data中的数据变化 | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: { | methods: { | ||||
| changeTab(item) { | |||||
| // 锚点点击事件 | |||||
| changeTab(item, index) { | |||||
| this.activeTab = item.value; | this.activeTab = item.value; | ||||
| let jumpDom = document.querySelectorAll(".content_item")[index]; | |||||
| let scrollTop = jumpDom.offsetTop; // 获取需要滚动的距离 | |||||
| window.scrollTo({ | |||||
| top: scrollTop, | |||||
| behavior: "smooth", // 平滑滚动 | |||||
| }); | |||||
| location.href = `#content${this.activeTab}`; | |||||
| }, | }, | ||||
| getData() { | getData() { | ||||
| let params = { | let params = { | ||||
| companyId: this.companyId, | companyId: this.companyId, | ||||
| }; | }; | ||||
| this.pageLoading = true; | |||||
| getCompanyById(params) | getCompanyById(params) | ||||
| .then(res => { | .then(res => { | ||||
| console.log(res.data); | console.log(res.data); | ||||
| this.$message.error(`获取数据失败,失败原因${err},请刷新重试!`); | this.$message.error(`获取数据失败,失败原因${err},请刷新重试!`); | ||||
| }); | }); | ||||
| }, | }, | ||||
| setClaimDialog() { | |||||
| this.showClaimDialog = true; | |||||
| this.claimDialog = true; | |||||
| }, | |||||
| cancelEdit() { | |||||
| this.isEditing = false; | |||||
| }, | |||||
| updateCompany() { | |||||
| updateCompany(this.companyInfo) | |||||
| .then(res => { | |||||
| console.log(res.data); | |||||
| if (res.data.status == 0) { | |||||
| this.isEditing = false; | |||||
| this.$message.success(`保存成功!`); | |||||
| } else { | |||||
| this.$message.error(`保存失败,请刷新重试!`); | |||||
| } | |||||
| }) | |||||
| .catch(err => { | |||||
| this.$message.error(`保存失败,失败原因${err},请刷新重试!`); | |||||
| }); | |||||
| }, | |||||
| }, | }, | ||||
| //生命周期 - 创建完成(可以访问当前this实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| created() { | created() { | ||||
| this.canEdit = this.$route.query.canEdit; | |||||
| this.companyId = this.$route.query.companyId; | this.companyId = this.$route.query.companyId; | ||||
| this.getData(); | this.getData(); | ||||
| }, | }, | ||||
| .nav_box { | .nav_box { | ||||
| background: url("~@assets/image/company/bg_company.png") no-repeat; | background: url("~@assets/image/company/bg_company.png") no-repeat; | ||||
| position: relative; | position: relative; | ||||
| overflow: visible; | |||||
| // position: sticky; | |||||
| // top: 0; | |||||
| // z-index: 2; | |||||
| .second_nv { | .second_nv { | ||||
| @include size(100%, 250px); | @include size(100%, 250px); | ||||
| > div { | > div { | ||||
| .position { | .position { | ||||
| @include flex(row, flex-start, center, null); | @include flex(row, flex-start, center, null); | ||||
| img { | img { | ||||
| @include size(16px, 16px); | |||||
| background: #ffffff; | |||||
| // @include size(16px, 16px); | |||||
| margin-right: 6px; | margin-right: 6px; | ||||
| } | } | ||||
| padding-top: 10px; | padding-top: 10px; | ||||
| border: solid 1px #bcd8e9; | border: solid 1px #bcd8e9; | ||||
| @include border-box; | @include border-box; | ||||
| background: #ffffff; | background: #ffffff; | ||||
| position: sticky; | |||||
| top: 0; | |||||
| z-index: 2; | |||||
| span { | span { | ||||
| @include size(200px, 50px); | @include size(200px, 50px); | ||||
| @include font(16px, #637485); | @include font(16px, #637485); | ||||
| } | } | ||||
| .tip_img { | .tip_img { | ||||
| @include size(68px, 22px); | @include size(68px, 22px); | ||||
| background-image: linear-gradient(135deg, #4bbe8e 0%, #22a76f 100%); | |||||
| position: absolute; | position: absolute; | ||||
| top: 20px; | top: 20px; | ||||
| left: 0; | left: 0; | ||||
| .claim_state { | |||||
| @include size(100%, 100%); | |||||
| @include flex(row, flex-start, center, null); | |||||
| @include font(14px, #fff); | |||||
| padding-left: 6px; | |||||
| @include border-box; | |||||
| } | |||||
| .claimed { | |||||
| background: url("~@assets/image/company/bg_claimed.png") no-repeat; | |||||
| } | |||||
| .not_claim { | |||||
| background: url("~@assets/image/company/bg_not_claim.png") no-repeat; | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| .right_box { | .right_box { | ||||
| > span { | > span { | ||||
| img { | img { | ||||
| @include size(20px, 20px); | @include size(20px, 20px); | ||||
| background: #fff; | |||||
| margin-right: 8px; | margin-right: 8px; | ||||
| } | } | ||||
| @include size(90px, 30px); | @include size(90px, 30px); | ||||
| .time { | .time { | ||||
| @include flex(row, center, center, null); | @include flex(row, center, center, null); | ||||
| img { | img { | ||||
| @include size(20px, 20px); | |||||
| background: #fff; | |||||
| // @include size(20px, 20px); | |||||
| margin-right: 8px; | margin-right: 8px; | ||||
| } | } | ||||
| @include font(14px, #637485); | @include font(14px, #637485); |
| <td class="table_title">法人代表:</td> | <td class="table_title">法人代表:</td> | ||||
| <td>{{ companyInfo.legalPerson }}</td> | <td>{{ companyInfo.legalPerson }}</td> | ||||
| <td class="table_title">登记状态:</td> | <td class="table_title">登记状态:</td> | ||||
| <td>{{ JSON.parse(companyInfo.claimState).text }}</td> | |||||
| <td>{{ companyInfo.claimState.text }}</td> | |||||
| <td class="table_title width_100">成立日期:</td> | <td class="table_title width_100">成立日期:</td> | ||||
| <td>{{ companyInfo.establishOn | formatDate("YYYY.MM.DD") }}</td> | <td>{{ companyInfo.establishOn | formatDate("YYYY.MM.DD") }}</td> | ||||
| </tr> | </tr> | ||||
| <td class="table_title">所属行业:</td> | <td class="table_title">所属行业:</td> | ||||
| <td colspan="3">{{ companyInfo.ownerIndustry }}</td> | <td colspan="3">{{ companyInfo.ownerIndustry }}</td> | ||||
| <td class="table_title width_100">企业类型:</td> | <td class="table_title width_100">企业类型:</td> | ||||
| <td>{{ companyInfo.enterpriseType }}</td> | |||||
| <td>{{ companyInfo.enterpriseType.text }}</td> | |||||
| </tr> | </tr> | ||||
| <tr class="table_row"> | <tr class="table_row"> | ||||
| <td class="table_title">营业期限:</td> | <td class="table_title">营业期限:</td> |
| <div class=""> | <div class=""> | ||||
| <el-dialog | <el-dialog | ||||
| class="dialog_box" | class="dialog_box" | ||||
| :visible.sync="dialogTableVisible" | |||||
| :visible.sync="claimDialog" | |||||
| :show-close="false" | :show-close="false" | ||||
| :close-on-click-modal="false" | :close-on-click-modal="false" | ||||
| :close-on-press-escape="false" | :close-on-press-escape="false" | ||||
| > | > | ||||
| <div slot="title" class="header_title"> | <div slot="title" class="header_title"> | ||||
| <span class="title_text">企业认领</span> | <span class="title_text">企业认领</span> | ||||
| <img class="pointer" src="" alt="关闭" @click="dialogTableVisible = false" /> | |||||
| <img | |||||
| class="pointer" | |||||
| src="@assets/image/company/icon_close.png" | |||||
| alt="关闭" | |||||
| @click="claimDialog = false" | |||||
| /> | |||||
| </div> | </div> | ||||
| <div class="dialog_content"> | <div class="dialog_content"> | ||||
| <el-form label-position="right" label-width="95px"> | <el-form label-position="right" label-width="95px"> | ||||
| <el-form-item label="企业名称"> | <el-form-item label="企业名称"> | ||||
| <el-input v-model="input"></el-input> | |||||
| <el-input v-model.trim="companyClaimInfo.companyClaimName"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="法人身份证"> | |||||
| <el-input v-model="companyClaimInfo.idCard"></el-input> | |||||
| </el-form-item> | |||||
| <el-form-item label="法人姓名"> | |||||
| <el-input v-model="companyClaimInfo.name"></el-input> | |||||
| </el-form-item> | </el-form-item> | ||||
| <el-form-item label="认领资料"> | <el-form-item label="认领资料"> | ||||
| <div class="upload_box"> | <div class="upload_box"> | ||||
| <el-upload | <el-upload | ||||
| class="avatar-uploader" | class="avatar-uploader" | ||||
| action="https://jsonplaceholder.typicode.com/posts/" | |||||
| :show-file-list="false" | :show-file-list="false" | ||||
| :on-success="handleAvatarSuccess" | |||||
| :before-upload="beforeAvatarUpload" | |||||
| accept=".jpg,.png,.jpeg" | |||||
| action="#" | |||||
| :http-request=" | |||||
| file => { | |||||
| afterReadUrl(file, 1); | |||||
| } | |||||
| " | |||||
| > | > | ||||
| <img v-if="imageUrl" :src="imageUrl" class="avatar" /> | |||||
| <img v-if="imageUrl1" :src="imageUrl1" class="avatar" /> | |||||
| <div v-else class="upload_text"> | <div v-else class="upload_text"> | ||||
| <img class="upload_icon" src="" alt="" /> | |||||
| <div class="upload_icon upload1"> | |||||
| <img src="@assets/image/company/icon_upload.png" alt="" /> | |||||
| </div> | |||||
| <div class="upload_tip">营业执照(或其他材料)</div> | <div class="upload_tip">营业执照(或其他材料)</div> | ||||
| </div> | </div> | ||||
| </el-upload> | </el-upload> | ||||
| <el-upload | <el-upload | ||||
| class="avatar-uploader" | class="avatar-uploader" | ||||
| action="https://jsonplaceholder.typicode.com/posts/" | |||||
| :show-file-list="false" | :show-file-list="false" | ||||
| :on-success="handleAvatarSuccess" | |||||
| :before-upload="beforeAvatarUpload" | |||||
| accept=".jpg,.png,.jpeg" | |||||
| action="#" | |||||
| :http-request=" | |||||
| file => { | |||||
| afterReadUrl(file, 2); | |||||
| } | |||||
| " | |||||
| > | > | ||||
| <img v-if="imageUrl" :src="imageUrl" class="avatar" /> | |||||
| <img v-if="imageUrl2" :src="imageUrl2" class="avatar" /> | |||||
| <div v-else class="upload_text"> | <div v-else class="upload_text"> | ||||
| <img class="upload_icon" src="" alt="" /> | |||||
| <div class="upload_icon upload2"> | |||||
| <img src="@assets/image/company/icon_upload.png" alt="" /> | |||||
| </div> | |||||
| <div class="upload_tip">法人身份证(头像面) 或其他材料</div> | <div class="upload_tip">法人身份证(头像面) 或其他材料</div> | ||||
| </div> | </div> | ||||
| </el-upload> | </el-upload> | ||||
| <el-upload | <el-upload | ||||
| class="avatar-uploader" | class="avatar-uploader" | ||||
| action="https://jsonplaceholder.typicode.com/posts/" | |||||
| :show-file-list="false" | :show-file-list="false" | ||||
| :on-success="handleAvatarSuccess" | |||||
| :before-upload="beforeAvatarUpload" | |||||
| accept=".jpg,.png,.jpeg" | |||||
| action="#" | |||||
| :http-request=" | |||||
| file => { | |||||
| afterReadUrl(file, 3); | |||||
| } | |||||
| " | |||||
| > | > | ||||
| <img v-if="imageUrl" :src="imageUrl" class="avatar" /> | |||||
| <img v-if="imageUrl3" :src="imageUrl3" class="avatar" /> | |||||
| <div v-else class="upload_text"> | <div v-else class="upload_text"> | ||||
| <img class="upload_icon" src="" alt="" /> | |||||
| <div class="upload_icon upload3"> | |||||
| <img src="@assets/image/company/icon_upload.png" alt="" /> | |||||
| </div> | |||||
| <div class="upload_tip">授权书</div> | <div class="upload_tip">授权书</div> | ||||
| </div> | </div> | ||||
| </el-upload> | </el-upload> | ||||
| <ul> | <ul> | ||||
| <li> | <li> | ||||
| 1、不同组织机构请根据提示上传指定材料, | 1、不同组织机构请根据提示上传指定材料, | ||||
| <span class="color_blue pointer">查看详情;</span> | |||||
| <span class="color_blue pointer" @click="materialDialog = true"> | |||||
| 查看详情; | |||||
| </span> | |||||
| </li> | </li> | ||||
| <li> | <li> | ||||
| 2、 | 2、 | ||||
| <span class="color_blue pointer">点击生成并下载授权书</span> | |||||
| <span class="color_blue pointer" @click="authorizeDialog = true"> | |||||
| 点击生成并下载授权书 | |||||
| </span> | |||||
| ,填写完成后拍照上传,注意授权书填写完整,拍摄清晰,使用手写签名和实体公章; | ,填写完成后拍照上传,注意授权书填写完整,拍摄清晰,使用手写签名和实体公章; | ||||
| </li> | </li> | ||||
| <li>3、支持jpg、jpeg、png格式,图片大小不超过2M;</li> | <li>3、支持jpg、jpeg、png格式,图片大小不超过2M;</li> | ||||
| </ul> | </ul> | ||||
| </el-form-item> | </el-form-item> | ||||
| <el-form-item> | <el-form-item> | ||||
| <el-button class="submit_btn" type="primary" :loading="loading"> | |||||
| <el-button | |||||
| class="submit_btn" | |||||
| type="primary" | |||||
| :loading="btnLoading" | |||||
| @click="submit" | |||||
| > | |||||
| 提交审核 | 提交审核 | ||||
| </el-button> | </el-button> | ||||
| </el-form-item> | </el-form-item> | ||||
| <el-dialog | <el-dialog | ||||
| class="dialog_box" | class="dialog_box" | ||||
| :visible.sync="dialogTableVisible1" | |||||
| :visible.sync="materialDialog" | |||||
| :show-close="false" | :show-close="false" | ||||
| :close-on-click-modal="false" | :close-on-click-modal="false" | ||||
| :close-on-press-escape="false" | :close-on-press-escape="false" | ||||
| > | > | ||||
| <div slot="title" class="header_title"> | <div slot="title" class="header_title"> | ||||
| <span class="title_text">认领材料</span> | <span class="title_text">认领材料</span> | ||||
| <img class="pointer" src="" alt="关闭" @click="dialogTableVisible1 = false" /> | |||||
| <img | |||||
| class="pointer" | |||||
| src="@assets/image/company/icon_close.png" | |||||
| alt="关闭" | |||||
| @click="materialDialog = false" | |||||
| /> | |||||
| </div> | </div> | ||||
| <div class="dialog_content"> | <div class="dialog_content"> | ||||
| <div class="claim_tip"> | <div class="claim_tip"> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="btn_width"> | <div class="btn_width"> | ||||
| <el-button class="submit_btn" type="primary" :loading="loading"> | |||||
| <el-button class="submit_btn" type="primary" @click="materialDialog = false"> | |||||
| 我知道了 | 我知道了 | ||||
| </el-button> | </el-button> | ||||
| </div> | </div> | ||||
| <el-dialog | <el-dialog | ||||
| class="dialog_box" | class="dialog_box" | ||||
| :visible.sync="dialogTableVisible3" | |||||
| :visible.sync="authorizeDialog" | |||||
| :show-close="false" | :show-close="false" | ||||
| :close-on-click-modal="false" | :close-on-click-modal="false" | ||||
| :close-on-press-escape="false" | :close-on-press-escape="false" | ||||
| > | > | ||||
| <div slot="title" class="header_title"> | <div slot="title" class="header_title"> | ||||
| <span class="title_text">企业认领授权书</span> | <span class="title_text">企业认领授权书</span> | ||||
| <img class="pointer" src="" alt="关闭" @click="dialogTableVisible3 = false" /> | |||||
| <img | |||||
| class="pointer" | |||||
| src="@assets/image/company/icon_close.png" | |||||
| alt="关闭" | |||||
| @click="authorizeDialog = false" | |||||
| /> | |||||
| </div> | </div> | ||||
| <div class="dialog_content"> | <div class="dialog_content"> | ||||
| <div class="authorize_box"> | <div class="authorize_box"> | ||||
| 确认授权 | 确认授权 | ||||
| <span class="color_blue">姓名</span> | <span class="color_blue">姓名</span> | ||||
| (身份证号: | (身份证号: | ||||
| <span class="color_blue">141181198909230120</span> | |||||
| <span class="color_blue">身份证号</span> | |||||
| ) | ) | ||||
| </span> | </span> | ||||
| <span style="margin-bottom:70px;"> | <span style="margin-bottom:70px;"> | ||||
| 代表本企业向贵公司完成企业认领,执行企业信息维护和管理功能。 | 代表本企业向贵公司完成企业认领,执行企业信息维护和管理功能。 | ||||
| </span> | </span> | ||||
| <span class="authorize_position">盖章处:</span> | <span class="authorize_position">盖章处:</span> | ||||
| <span class="authorize_position">日期:2022-09-20</span> | |||||
| <span class="authorize_position">日期:</span> | |||||
| </div> | </div> | ||||
| <div class="btn_box"> | <div class="btn_box"> | ||||
| <div> | |||||
| <el-button class="pre_btn" type="primary" :loading="loading"> | |||||
| <!-- <div> | |||||
| <el-button class="pre_btn" type="primary"> | |||||
| 上一步 | 上一步 | ||||
| </el-button> | </el-button> | ||||
| </div> | |||||
| </div> --> | |||||
| <div> | <div> | ||||
| <el-button class="submit_btn" type="primary" :loading="loading"> | <el-button class="submit_btn" type="primary" :loading="loading"> | ||||
| 下载授权书 | 下载授权书 | ||||
| <script> | <script> | ||||
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | ||||
| //例如:import 《组件名称》 from '《组件路径》'; | //例如:import 《组件名称》 from '《组件路径》'; | ||||
| import { upload } from "@api/common"; | |||||
| import { addCompanyClaim } from "@api/company"; | |||||
| export default { | export default { | ||||
| props: { | |||||
| claimDialog: { | |||||
| types: Boolean, | |||||
| required: false, | |||||
| default: false, | |||||
| }, | |||||
| }, | |||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| components: {}, | components: {}, | ||||
| data() { | data() { | ||||
| //这里存放数据 | //这里存放数据 | ||||
| return { | return { | ||||
| dialogTableVisible: false, | |||||
| dialogTableVisible1: false, | |||||
| dialogTableVisible3: false, | |||||
| input: "", | |||||
| companyClaimInfo: { | |||||
| companyClaimName: "", | |||||
| idCard: "", | |||||
| name: "", | |||||
| data: "", | |||||
| }, | |||||
| materialDialog: false, | |||||
| authorizeDialog: false, | |||||
| material: [ | material: [ | ||||
| { | { | ||||
| title: "普通企业", | title: "普通企业", | ||||
| value: "基金会法人登记证书 + 法定代表人身份证(头像面)", | value: "基金会法人登记证书 + 法定代表人身份证(头像面)", | ||||
| }, | }, | ||||
| ], | ], | ||||
| btnLoading: false, | |||||
| loading: false, | |||||
| imageUrl1: "", | |||||
| imageUrl1Loading: false, | |||||
| imageUrl2: "", | |||||
| imageUrl2Loading: false, | |||||
| imageUrl3: "", | |||||
| imageUrl3Loading: false, | |||||
| }; | }; | ||||
| }, | }, | ||||
| //监听属性 类似于data概念 | //监听属性 类似于data概念 | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: { | methods: { | ||||
| handleAvatarSuccess(res, file) { | |||||
| this.imageUrl = URL.createObjectURL(file.raw); | |||||
| }, | |||||
| beforeAvatarUpload(file) { | |||||
| const isJPG = file.type === "image/jpeg"; | |||||
| const isLt2M = file.size / 1024 / 1024 < 2; | |||||
| if (!isJPG) { | |||||
| this.$message.error("上传头像图片只能是 JPG 格式!"); | |||||
| submit() { | |||||
| if (!this.companyClaimInfo.companyClaimName) { | |||||
| this.$message.error(`请填写企业名称!`); | |||||
| return; | |||||
| } | |||||
| if (!this.companyClaimInfo.idCard) { | |||||
| this.$message.error(`请填写法人身份证!`); | |||||
| return; | |||||
| } | } | ||||
| if (!isLt2M) { | |||||
| this.$message.error("上传头像图片大小不能超过 2MB!"); | |||||
| if (!this.companyClaimInfo.name) { | |||||
| this.$message.error(`请填写法人姓名!`); | |||||
| return; | |||||
| } | } | ||||
| return isJPG && isLt2M; | |||||
| if (!this.imageUrl1) { | |||||
| this.$message.error(`请上传营业执照(或其他材料)!`); | |||||
| return; | |||||
| } | |||||
| if (!this.imageUrl2) { | |||||
| this.$message.error(`请上传法人身份证(头像面)或其他材料!`); | |||||
| return; | |||||
| } | |||||
| if (!this.imageUrl3) { | |||||
| this.$message.error(`请上传授权书!`); | |||||
| return; | |||||
| } | |||||
| this.companyClaimInfo.data = [this.imageUrl1, this.imageUrl2, this.imageUrl3].join(","); | |||||
| this.setData(); | |||||
| }, | |||||
| setData() { | |||||
| this.btnLoading = true; | |||||
| addCompanyClaim(this.companyClaimInfo) | |||||
| .then(res => { | |||||
| console.log(res.data); | |||||
| if (res.data.status == 0) { | |||||
| this.companyInfo = res.data.data; | |||||
| } else { | |||||
| this.$message.error(`提交失败,请刷新重试!`); | |||||
| } | |||||
| this.btnLoading = false; | |||||
| }) | |||||
| .catch(err => { | |||||
| this.$message.error(`提交失败,失败原因${err},请刷新重试!`); | |||||
| }); | |||||
| }, | |||||
| async afterReadUrl(file, imgUrlIndex) { | |||||
| this.$data[`imageUrl${imgUrlIndex}`] = ""; | |||||
| this.$data[`imageUrl${imgUrlIndex}Loading`] = true; | |||||
| let photo2Url = await this.uploadImg(file, `imageUrl${imgUrlIndex}Loading`); | |||||
| this.$data[`imageUrl${imgUrlIndex}`] = photo2Url; | |||||
| this.$forceUpdate(); | |||||
| }, | |||||
| // 上传图片 | |||||
| async uploadImg(file, dataKey) { | |||||
| let imgUrl; | |||||
| const formData = new FormData(); // 声明一个FormData对象 | |||||
| formData.append("uploadFile", file.file); | |||||
| await upload(formData) | |||||
| .then(res => { | |||||
| if (res.data.status == 0) { | |||||
| imgUrl = res.data.data; | |||||
| this.$data[dataKey] = false; | |||||
| } else { | |||||
| this.$message.error("上传失败,请重新上传!"); | |||||
| } | |||||
| }) | |||||
| .catch(error => { | |||||
| this.$data[dataKey] = false; | |||||
| this.$message.error("上传失败,请重新上传!"); | |||||
| console.log(error); | |||||
| }); | |||||
| return imgUrl; | |||||
| }, | }, | ||||
| }, | }, | ||||
| //生命周期 - 创建完成(可以访问当前this实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| @include flex(column, space-between, center, nowrap); | @include flex(column, space-between, center, nowrap); | ||||
| .upload_icon { | .upload_icon { | ||||
| @include size(118px, 70px); | @include size(118px, 70px); | ||||
| background: pink; | |||||
| @include flex(row, center, flex-end, nowrap); | |||||
| padding-bottom: 6px; | |||||
| @include border-box; | |||||
| } | |||||
| .upload1 { | |||||
| background: url("~@assets/image/company/bg_upload_1.png") no-repeat; | |||||
| background-size: 100% 100%; | |||||
| } | |||||
| .upload2 { | |||||
| background: url("~@assets/image/company/bg_upload_2.png") no-repeat; | |||||
| background-size: 100% 100%; | |||||
| } | |||||
| .upload3 { | |||||
| background: url("~@assets/image/company/bg_upload_3.png") no-repeat; | |||||
| background-size: 100% 100%; | |||||
| } | } | ||||
| .upload_tip { | .upload_tip { | ||||
| line-height: initial; | line-height: initial; | ||||
| } | } | ||||
| .authorize_box { | .authorize_box { | ||||
| border: 1px solid #0977d8; | border: 1px solid #0977d8; | ||||
| background: #c7e7fe; | |||||
| padding: 16px 50px 16px 20px; | padding: 16px 50px 16px 20px; | ||||
| border-radius: 4px; | border-radius: 4px; | ||||
| @include border-box; | @include border-box; |
| </div> | </div> | ||||
| <table-item | <table-item | ||||
| :table-title="websiteTitle" | :table-title="websiteTitle" | ||||
| :table-data="tableData" | |||||
| :table-data="companyInfo.companyWebsiteList" | |||||
| :rowHeight="50" | :rowHeight="50" | ||||
| ></table-item> | ></table-item> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <table-item | <table-item | ||||
| :table-title="foreignInvestmentInfoTitle" | :table-title="foreignInvestmentInfoTitle" | ||||
| :table-data="companyInfo.foreignInvestmentInfo" | |||||
| :table-data="companyInfo.companyInitiatorList" | |||||
| :rowHeight="50" | :rowHeight="50" | ||||
| ></table-item> | |||||
| > | |||||
| <el-table-column slot="subscribedCapitalOn" label="认缴出资日期"> | |||||
| <template slot-scope="scope"> | |||||
| {{ scope.row.subscribedCapitalOn | formatDate("YYYY-MM-DD") }} | |||||
| </template> | |||||
| </el-table-column> | |||||
| <el-table-column slot="paidCapitalContributionOn" label="实缴出资日期"> | |||||
| <template slot-scope="scope"> | |||||
| {{ scope.row.paidCapitalContributionOn | formatDate("YYYY-MM-DD") }} | |||||
| </template> | |||||
| </el-table-column> | |||||
| </table-item> | |||||
| </div> | </div> | ||||
| <div> | <div> | ||||
| <div class="title"> | <div class="title"> | ||||
| </div> | </div> | ||||
| <table-item | <table-item | ||||
| :table-title="financeInfoTitle" | :table-title="financeInfoTitle" | ||||
| :table-data="companyInfo.financeInfo" | |||||
| :table-data="companyInfo.companyFinanceInfoList" | |||||
| :rowHeight="50" | :rowHeight="50" | ||||
| ></table-item> | |||||
| > | |||||
| <el-table-column slot="date" label="日期"> | |||||
| <template slot-scope="scope"> | |||||
| {{ scope.row.date | formatDate("YYYY-MM-DD") }} | |||||
| </template> | |||||
| </el-table-column> | |||||
| </table-item> | |||||
| </div> | </div> | ||||
| <!-- <div> | <!-- <div> | ||||
| <div class="title"> | <div class="title"> | ||||
| websiteTitle: [ | websiteTitle: [ | ||||
| { | { | ||||
| label: "类型", | label: "类型", | ||||
| property: "date", | |||||
| property: "type", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "名称", | label: "名称", | ||||
| property: "date", | |||||
| property: "websiteName", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "网站", | label: "网站", | ||||
| property: "date", | |||||
| property: "url", | |||||
| }, | }, | ||||
| ], | ], | ||||
| foreignInvestmentInfoTitle: [ | foreignInvestmentInfoTitle: [ | ||||
| { | { | ||||
| label: "发起人", | label: "发起人", | ||||
| property: "date", | |||||
| property: "sponsor", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "认缴出资额(万元)", | label: "认缴出资额(万元)", | ||||
| property: "date", | |||||
| property: "subscribedCapital", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "认缴出资日期", | label: "认缴出资日期", | ||||
| property: "date", | |||||
| property: "subscribedCapitalOn", | |||||
| slot: "subscribedCapitalOn", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "认缴出资方式", | label: "认缴出资方式", | ||||
| property: "date", | |||||
| property: "subscribedCapitalWay", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "实缴出资额(万元)", | label: "实缴出资额(万元)", | ||||
| property: "date", | |||||
| property: "paidCapitalContribution", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "实缴出资日期", | |||||
| property: "date", | |||||
| slot: "paidCapitalContributionOn", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "实缴出资方式", | label: "实缴出资方式", | ||||
| property: "date", | |||||
| property: "paidCapitalContributionWay", | |||||
| }, | }, | ||||
| ], | ], | ||||
| financeInfoTitle: [ | financeInfoTitle: [ | ||||
| { | { | ||||
| label: "日期", | |||||
| property: "date", | |||||
| slot: "date", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "产品名称", | label: "产品名称", | ||||
| property: "name", | |||||
| property: "productName", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "融资轮次", | label: "融资轮次", | ||||
| property: "address", | |||||
| property: "financingRounds", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "估值金额", | label: "估值金额", | ||||
| property: "address", | |||||
| property: "valuationAmount", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "融资金额", | label: "融资金额", | ||||
| property: "address", | |||||
| property: "financingAmount", | |||||
| }, | }, | ||||
| { | { | ||||
| label: "投资机构", | label: "投资机构", | ||||
| property: "address", | |||||
| property: "investmentOrganization", | |||||
| }, | }, | ||||
| ], | ], | ||||
| honorQualificationTitle: [ | honorQualificationTitle: [ | ||||
| property: "address", | property: "address", | ||||
| }, | }, | ||||
| ], | ], | ||||
| tableData: [ | |||||
| { | |||||
| date: "2016-05-02", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1518 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-04", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1517 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-01", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1519 弄", | |||||
| }, | |||||
| { | |||||
| date: "2016-05-03", | |||||
| name: "王小虎", | |||||
| address: "上海市普陀区金沙江路 1516 弄", | |||||
| }, | |||||
| ], | |||||
| }; | }; | ||||
| }, | }, | ||||
| //监听属性 类似于data概念 | //监听属性 类似于data概念 |
| <span | <span | ||||
| :class="[ | :class="[ | ||||
| 'claim_state', | 'claim_state', | ||||
| companyInfo.claimState.text === '已认领' ? 'claimed' : 'not_claim', | |||||
| companyInfo && | |||||
| companyInfo.claimState && | |||||
| companyInfo.claimState.text === '已认领' | |||||
| ? 'claimed' | |||||
| : 'not_claim', | |||||
| ]" | ]" | ||||
| > | > | ||||
| {{ companyInfo.claimState.text }} | {{ companyInfo.claimState.text }} |
| <tr> | <tr> | ||||
| <td class="table_title">企业优势:</td> | <td class="table_title">企业优势:</td> | ||||
| <td class="content"> | <td class="content"> | ||||
| {{ companyInfo.enterpriseAdvantage }} | |||||
| <el-input | |||||
| :disabled="!isEditing" | |||||
| type="textarea" | |||||
| v-model="companyInfo.enterpriseAdvantage" | |||||
| ></el-input> | |||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| <tr> | <tr> | ||||
| <td class="table_title">企业文化:</td> | <td class="table_title">企业文化:</td> | ||||
| <td class="content"> | <td class="content"> | ||||
| {{companyInfo.enterpriseCulture}} | |||||
| <el-input | |||||
| :disabled="!isEditing" | |||||
| type="textarea" | |||||
| v-model="companyInfo.enterpriseCulture" | |||||
| ></el-input> | |||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| <tr> | <tr> | ||||
| <td class="table_title">企业风采:</td> | <td class="table_title">企业风采:</td> | ||||
| <td class="content"> | <td class="content"> | ||||
| <img class="company_img" src="" alt="" /> | |||||
| <img class="company_img" src="" alt="" /> | |||||
| <img class="company_img" src="" alt="" /> | |||||
| <template v-if="!isEditing"> | |||||
| <img class="company_img" src="" alt="" /> | |||||
| <img class="company_img" src="" alt="" /> | |||||
| <img class="company_img" src="" alt="" /> | |||||
| </template> | |||||
| <el-upload | |||||
| v-else | |||||
| class="avatar-uploader" | |||||
| list-type="picture-card" | |||||
| :show-file-list="false" | |||||
| accept=".jpg,.png,.jpeg" | |||||
| action="#" | |||||
| :http-request=" | |||||
| file => { | |||||
| afterReadUrl(file, 1); | |||||
| } | |||||
| " | |||||
| > | |||||
| <img v-if="imageUrl1" :src="imageUrl1" class="avatar" /> | |||||
| <div v-else class="upload_text"> | |||||
| <img | |||||
| class="company_img" | |||||
| src="@assets/image/company/bg_upload.png" | |||||
| alt="" | |||||
| /> | |||||
| </div> | |||||
| </el-upload> | |||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| <tr> | <tr> | ||||
| <td class="table_title">其他信息:</td> | <td class="table_title">其他信息:</td> | ||||
| <td class="content"> | <td class="content"> | ||||
| {{companyInfo.otherInfo}} | |||||
| <div> | |||||
| <el-input | |||||
| :disabled="!isEditing" | |||||
| type="textarea" | |||||
| v-model="companyInfo.otherInfo" | |||||
| ></el-input> | |||||
| </div> | |||||
| </td> | </td> | ||||
| </tr> | </tr> | ||||
| </table> | </table> | ||||
| <script> | <script> | ||||
| //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等) | ||||
| //例如:import 《组件名称》 from '《组件路径》'; | //例如:import 《组件名称》 from '《组件路径》'; | ||||
| import { upload } from "@api/common"; | |||||
| export default { | export default { | ||||
| props: { | props: { | ||||
| type: Object, | type: Object, | ||||
| default: () => {}, | default: () => {}, | ||||
| }, | }, | ||||
| isEditing: { | |||||
| type: Boolean, | |||||
| default: false, | |||||
| }, | |||||
| }, | }, | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| components: {}, | components: {}, | ||||
| //监控data中的数据变化 | //监控data中的数据变化 | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: {}, | |||||
| methods: { | |||||
| async afterReadUrl(file, imgUrlIndex) { | |||||
| this.$data[`imageUrl${imgUrlIndex}`] = ""; | |||||
| this.$data[`imageUrl${imgUrlIndex}Loading`] = true; | |||||
| let photo2Url = await this.uploadImg(file, `imageUrl${imgUrlIndex}Loading`); | |||||
| this.$data[`imageUrl${imgUrlIndex}`] = photo2Url; | |||||
| this.$forceUpdate(); | |||||
| }, | |||||
| // 上传图片 | |||||
| async uploadImg(file, dataKey) { | |||||
| let imgUrl; | |||||
| const formData = new FormData(); // 声明一个FormData对象 | |||||
| formData.append("uploadFile", file.file); | |||||
| await upload(formData) | |||||
| .then(res => { | |||||
| if (res.data.status == 0) { | |||||
| imgUrl = res.data.data; | |||||
| this.$data[dataKey] = false; | |||||
| } else { | |||||
| this.$message.error("上传失败,请重新上传!"); | |||||
| } | |||||
| }) | |||||
| .catch(error => { | |||||
| this.$data[dataKey] = false; | |||||
| this.$message.error("上传失败,请重新上传!"); | |||||
| console.log(error); | |||||
| }); | |||||
| return imgUrl; | |||||
| }, | |||||
| }, | |||||
| //生命周期 - 创建完成(可以访问当前this实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| created() {}, | created() {}, | ||||
| //生命周期 - 挂载完成(可以访问DOM元素) | //生命周期 - 挂载完成(可以访问DOM元素) | ||||
| @include border-box; | @include border-box; | ||||
| } | } | ||||
| .table_box { | .table_box { | ||||
| width: 100%; | |||||
| border: 1px solid #bcd8e9; | border: 1px solid #bcd8e9; | ||||
| tr { | tr { | ||||
| height: 48px; | height: 48px; | ||||
| .content { | .content { | ||||
| padding: 20px; | padding: 20px; | ||||
| @include border-box; | @include border-box; | ||||
| .avatar-uploader { | |||||
| @include size(120px, 96px); | |||||
| margin-right: 25px; | |||||
| .upload_text { | |||||
| @include border-box; | |||||
| @include size(120px, 96px); | |||||
| } | |||||
| ::v-deep .el-upload { | |||||
| @include size(100%, 100%); | |||||
| cursor: pointer; | |||||
| position: relative; | |||||
| overflow: hidden; | |||||
| } | |||||
| } | |||||
| ::v-deep .el-upload--picture-card { | |||||
| border: none; | |||||
| } | |||||
| .company_img { | .company_img { | ||||
| @include size(120px, 96px); | @include size(120px, 96px); | ||||
| margin-right: 25px; | margin-right: 25px; | ||||
| } | } | ||||
| } | } | ||||
| ::v-deep .el-textarea.is-disabled .el-textarea__inner { | |||||
| background: #fff; | |||||
| border: none; | |||||
| @include font(14px, #334a5f); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| </style> | </style> |
| <template> | <template> | ||||
| <div class="table_box"> | <div class="table_box"> | ||||
| <el-table :data="tableData" width="100%" :height="height" :row="rowHeight" border> | <el-table :data="tableData" width="100%" :height="height" :row="rowHeight" border> | ||||
| <el-table-column type="index" align="center" label="列号" width="80"></el-table-column> | |||||
| <el-table-column | |||||
| v-if="index" | |||||
| type="index" | |||||
| align="center" | |||||
| label="列号" | |||||
| width="80" | |||||
| ></el-table-column> | |||||
| <template v-for="(item, index) in tableTitle"> | <template v-for="(item, index) in tableTitle"> | ||||
| <slot v-if="item.slot" :name="item.slot"></slot> | <slot v-if="item.slot" :name="item.slot"></slot> | ||||
| <el-table-column | <el-table-column | ||||
| :label="item.label" | :label="item.label" | ||||
| :min-width="item.minWidth ? item.minWidth : ''" | :min-width="item.minWidth ? item.minWidth : ''" | ||||
| :width="item.width ? item.width : ''" | :width="item.width ? item.width : ''" | ||||
| ></el-table-column> | |||||
| :show-overflow-tooltip="item.overHidden || true" | |||||
| > | |||||
| <template slot-scope="scope"> | |||||
| <span>{{ scope.row[item.property] || "--" }}</span> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </template> | </template> | ||||
| <el-table-column v-if="operation" label="操作" align="center"> | |||||
| <template slot-scope="scope"> | |||||
| <slot name="menu" :row="scope.row" :$index="scope.$index" /> | |||||
| </template> | |||||
| </el-table-column> | |||||
| </el-table> | </el-table> | ||||
| </div> | </div> | ||||
| </template> | </template> | ||||
| //import引入的组件需要注入到对象中才能使用 | //import引入的组件需要注入到对象中才能使用 | ||||
| components: {}, | components: {}, | ||||
| props: { | props: { | ||||
| // 是否设置序号,默认设置 | |||||
| index: { | |||||
| type: Boolean, | |||||
| default: () => { | |||||
| return false; | |||||
| }, | |||||
| }, | |||||
| // 表格数据 | |||||
| tableData: { | tableData: { | ||||
| // 表格数据 | |||||
| type: Array, | type: Array, | ||||
| default: () => { | default: () => { | ||||
| return []; | return []; | ||||
| }, | }, | ||||
| }, | }, | ||||
| // 表头标题 | |||||
| tableTitle: { | tableTitle: { | ||||
| // 表格头标题 | |||||
| type: Array, | type: Array, | ||||
| require: true, | require: true, | ||||
| }, | }, | ||||
| // 表格高度 | |||||
| height: { | height: { | ||||
| // 表格高度 | |||||
| type: [Number, String], | type: [Number, String], | ||||
| default: "100%", | default: "100%", | ||||
| }, | }, | ||||
| // 表格行高 | |||||
| rowHeight: { | rowHeight: { | ||||
| // 表格行高 | |||||
| type: [Number, String], | type: [Number, String], | ||||
| default: 44, | default: 44, | ||||
| }, | }, | ||||
| // 是否有操作列,默认无 | |||||
| operation: { | |||||
| type: Boolean, | |||||
| default: () => { | |||||
| return false; | |||||
| }, | |||||
| }, | |||||
| }, | }, | ||||
| data() { | data() { | ||||
| //这里存放数据 | //这里存放数据 | ||||
| //监控data中的数据变化 | //监控data中的数据变化 | ||||
| watch: {}, | watch: {}, | ||||
| //方法集合 | //方法集合 | ||||
| methods: { | |||||
| tableCellStyle() { | |||||
| // return "border-color: #bcd8e9;"; | |||||
| }, | |||||
| // 修改 table header cell的背景色 | |||||
| tableHeaderCellStyle() { | |||||
| // return "border-color: #bcd8e9;"; | |||||
| }, | |||||
| }, | |||||
| methods: {}, | |||||
| //生命周期 - 创建完成(可以访问当前this实例) | //生命周期 - 创建完成(可以访问当前this实例) | ||||
| created() {}, | created() {}, | ||||
| //生命周期 - 挂载完成(可以访问DOM元素) | //生命周期 - 挂载完成(可以访问DOM元素) |
| proxy: { | proxy: { | ||||
| "/domain": { | "/domain": { | ||||
| // target: "http://localhost:80", | // target: "http://localhost:80", | ||||
| target: "http://192.168.18.236:18888/", | |||||
| // target: "http://192.168.18.236:18888/", | |||||
| target: "http://192.168.18.138:18888/", | |||||
| changeOrigin: true, | changeOrigin: true, | ||||
| pathRewrite: { | pathRewrite: { | ||||
| "^/domain": "", | "^/domain": "", |