| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675 |
- <template>
- <div class="detailWrapper">
- <section class="section1 public-flex">
- <div class="public-margin-r-20">
- <h4>
- 投资项目
- <!-- <span class="alreadyStop" v-if="detailInfo.delFlag === '1'"
- >已终止</span
- >-->
- <span class="alreadyStop"
- v-if="detailInfo.terminationFlag === '1' && detailInfo.projectStatus !== '1'">
- 已发起终止申请
- </span>
- <span class="alreadyStop"
- v-if="detailInfo.projectStatus === '1'">
- 已终止
- </span>
- </h4>
- <p class="projectNameTit">{{ detailInfo.projectName }}</p>
- </div>
- <!-- <div class="btnList">
- <el-button
- type="primary"
- icon="el-icon-upload2"
- @click="handleTab('7', 'fileList')"
- >上传文件资料</el-button
- >
- <el-button
- type="primary"
- icon="el-icon-upload2"
- @click="handleTab('8', 'contractList')"
- >上传合同</el-button
- >
- <el-button
- v-if="
- user.nickName === detailInfo.investHead &&
- detailInfo.delFlag !== '1' &&
- showDueApply &&
- active == 3
- "
- type="primary"
- icon="el-icon-tickets"
- @click="handleTab('4', 'dueDiligenceList')"
- >发起尽调申请</el-button
- >
- <el-button
- type="primary"
- icon="el-icon-plus"
- @click="handleTab('2', 'followList')"
- >新增跟进记录</el-button
- >
- <el-button
- type="primary"
- icon="el-icon-plus"
- @click="handleTab('6', 'meetingList')"
- >新增会议</el-button
- >
- </div> -->
- </section>
- <el-divider></el-divider>
- <section>
- <!-- :space="200" -->
- <el-steps
- :active="active"
- finish-status="success"
- align-center
- style="margin-left: -60px"
- >
- <el-step title="项目机会"></el-step>
- <el-step title="评估考察"></el-step>
- <el-step title="项目立项"></el-step>
- <el-step title="尽职背调"></el-step>
- <el-step title="项目投决"></el-step>
- <el-step title="签约"></el-step>
- <el-step title="投后"></el-step>
- </el-steps>
- <el-divider></el-divider>
- <div
- class="public-flex-between basicsInfo"
- v-if="detailInfo.projectState != '1'"
- >
- <div class="public-flex-center-column">
- <div>项目公司名称</div>
- <p
- style="width: 250px; text-align: center"
- class="yichu1"
- v-if="
- detailInfo.tProjectCompany &&
- detailInfo.tProjectCompany.companyName
- "
- >
- {{ detailInfo.tProjectCompany.companyName }}
- </p>
- </div>
- <div class="public-flex-center-column">
- <div>渠道</div>
- <p
- v-if="
- detailInfo.tProjectChannel &&
- detailInfo.tProjectChannel.channelName
- "
- >
- {{ detailInfo.tProjectChannel.channelName }}
- </p>
- <p v-else>无</p>
- </div>
- <div class="public-flex-center-column">
- <div>项目负责人</div>
- <p>{{ detailInfo.investHead }}</p>
- </div>
- <div class="public-flex-center-column" v-if="detailInfo.projectDate">
- <div>立项通过日期</div>
- <p>{{ detailInfo.projectDate }}</p>
- </div>
- <div class="public-flex-center-column" v-if="detailInfo.decisionDate">
- <div>投决通过日期</div>
- <p>{{ detailInfo.decisionDate }}</p>
- </div>
- <div class="public-flex-center-column">
- <div>投后估值(万元)</div>
- <p>{{ detailInfo.investValuation }}</p>
- </div>
- <div class="public-flex-center-column">
- <div>预计投资金额(万元)</div>
- <p>{{ detailInfo.investMoney }}</p>
- </div>
- </div>
- </section>
- <section class="section3">
- <el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="活动" name="0"></el-tab-pane>
- <el-tab-pane label="项目信息" name="1"></el-tab-pane>
- <!-- <el-tab-pane label="评估考察" name="9"></el-tab-pane> -->
- <el-tab-pane label="项目立项信息" name="3"></el-tab-pane>
- <el-tab-pane label="项目背调信息" name="4"></el-tab-pane>
- <el-tab-pane label="项目投决信息" name="5"></el-tab-pane>
- <el-tab-pane label="跟进记录" name="2"></el-tab-pane>
- <!-- <el-tab-pane label="会议" name="6"></el-tab-pane> -->
- <!-- <el-tab-pane label="文件资料" name="7"></el-tab-pane> -->
- <!-- <el-tab-pane label="合同" name="8"></el-tab-pane> -->
- <!-- <el-tab-pane label="附件" name="9"></el-tab-pane> -->
- </el-tabs>
- <section>
- <div v-if="activeName === '0'">
- <el-timeline :reverse="false" class="public-padded-20">
- <el-timeline-item
- v-for="(activity, index) in activeTimeList"
- :key="index"
- :timestamp="activity.createTime"
- >
- {{ activity.createBy }}:{{ activity.stageName }}
- </el-timeline-item>
- </el-timeline>
- </div>
- <div v-show="activeName === '1'">
- <poolForm :type="type" :id="id" :isShowFlow="true"></poolForm>
- </div>
- <div v-if="activeName === '2'">
- <followList :type="'2'" ref="followList" :projectId="id"></followList>
- </div>
- <div v-if="activeName === '3'" class="public-padded-20 detail-meeting">
- <el-tabs type="border-card">
- <el-tab-pane label="项目立项申请表">
- <el-form
- v-if="formLXApply.id"
- class="special-el-form public-padded-t-20"
- ref="formLXApply"
- :model="formLXApply"
- label-width="120px"
- >
- <el-form-item
- label="项目概况"
- prop="projectOverview"
- class="special-el-form-item"
- >
- <el-input
- rows="4"
- type="textarea"
- maxlength="200"
- v-model="formLXApply.projectOverview"
- disabled
- />
- </el-form-item>
- <el-form-item
- label="项目亮点"
- prop="projectSparkle"
- class="special-el-form-item"
- >
- <el-input
- rows="4"
- type="textarea"
- maxlength="200"
- v-model="formLXApply.projectSparkle"
- disabled
- />
- </el-form-item>
- <el-form-item label="立项申请报告" prop="listFile" class="special-el-form-item">
- <fileItem ref="fileItemLXApply" :id="formLXApply.id" :is-detail="true"></fileItem>
- </el-form-item>
- <el-form-item label="项目行研报告" prop="industryListFile" class="special-el-form-item">
- <fileItem ref="industryFileItem" :id="formLXApply.id" :is-detail="true"></fileItem>
- </el-form-item>
- <el-form-item label="项目技术报告" prop="technicalListFile" class="special-el-form-item">
- <fileItem ref="technicalFileItem" :id="formLXApply.id" :is-detail="true"></fileItem>
- </el-form-item>
- <el-form-item label="其他附件" prop="otherListFile" class="special-el-form-item">
- <fileItem ref="otherFileItem" :id="formLXApply.id" :is-detail="true"></fileItem>
- </el-form-item>
- </el-form>
- <div
- v-else
- class="public-flex-center public-padded-20"
- style="color: #909399"
- >
- 暂无数据
- </div>
- </el-tab-pane>
- <!-- <el-tab-pane label="项目立项评估评审汇总表">
- <tableForm
- :formType="2"
- ref="approvalTableForm"
- :readonly="true"
- :showBack="false"
- ></tableForm>
- </el-tab-pane>-->
- </el-tabs>
- <section>
- <flowBase :procInstId="formLXApply.procInstId" :id="formLXApply.projectPoolId" v-if="formLXApply.procInstId"></flowBase>
- </section>
- </div>
- <div v-if="activeName === '4'">
- <!-- 尽职调查 -->
- <dueDiligenceList
- ref="dueDiligenceLists"
- :projectName="detailInfo.projectName"
- :projectId="id"
- @changeShowDueApply="changeShowDueApply"
- ></dueDiligenceList>
- </div>
- <div v-if="activeName === '5'" class="public-padded-20 detail-meeting">
- <el-tabs type="border-card">
- <el-tab-pane label="项目投决申请表">
- <el-form
- v-if="formTJApply.id"
- class="special-el-form public-padded-t-20"
- ref="formTJApply"
- :model="formTJApply"
- label-width="120px"
- >
- <el-form-item
- label="股权/其他合作商务条款"
- prop="provision"
- class="special-el-form-item"
- >
- <el-input
- rows="4"
- type="textarea"
- maxlength="200"
- v-model="formTJApply.provision"
- disabled
- />
- </el-form-item>
- <el-form-item
- label="投决资料"
- prop="listFile"
- class="special-el-form-item"
- >
- <fileItem
- ref="fileItemTJApply"
- :id="formTJApply.id"
- :is-detail="true"
- ></fileItem>
- </el-form-item>
- <!--
- <el-form-item
- label="通知名单"
- prop="participants"
- class="special-el-form-item"
- >
- <el-input
- rows="4"
- type="textarea"
- v-model="formTJApply.participants"
- disabled
- />
- </el-form-item>-->
- <el-form-item label="其他附件" prop="otherListFile" class="special-el-form-item">
- <fileItem ref="otherFileItem" :id="formTJApply.id" :is-detail="true"></fileItem>
- </el-form-item>
- </el-form>
- <div
- v-else
- class="public-flex-center public-padded-20"
- style="color: #909399"
- >
- 暂无数据
- </div>
- </el-tab-pane>
- <el-tab-pane label="项目投决评估评审汇总表">
- <tableForm
- :formType="4"
- ref="voteTableForm"
- :readonly="true"
- :showBack="false"
- ></tableForm>
- </el-tab-pane>
- </el-tabs>
- <section>
- <flowBase :procInstId="formTJApply.procInstId" :id="formTJApply.projectPoolId" v-if="formTJApply.procInstId"></flowBase>
- </section>
- </div>
- <div v-if="activeName === '6'">
- <meetingList
- :type="'2'"
- ref="meetingList"
- :projectId="id"
- ></meetingList>
- </div>
- <!-- <div v-if="activeName === '7'">
- <fileList :type="'2'" ref="fileList" :projectId="id"></fileList>
- </div> -->
- <div v-if="activeName === '8'">
- <contractList
- :type="'2'"
- ref="contractList"
- :projectId="id"
- ></contractList>
- </div>
- <div v-if="activeName === '9'">
- <el-timeline
- :reverse="false"
- class="public-padded-20"
- v-if="investReviewTimeList.length > 0"
- >
- <el-timeline-item
- v-for="(item, index) in investReviewTimeList"
- :key="index"
- :timestamp="item.createTime + ' 发表评估考察意见'"
- >
- {{ item.reviewPerson }}:{{ item.context }}
- </el-timeline-item>
- </el-timeline>
- <div
- v-else
- class="public-flex-center public-padded-20"
- style="color: #909399"
- >
- 暂无数据
- </div>
- <!-- 附件 -->
- <!-- <listAllfile :projectId="id"></listAllfile> -->
- </div>
- </section>
- </section>
- </div>
- </template>
- <script>
- import poolForm from "./poolForm";
- import contractList from "../invest/components/contractList";
- import fileList from "../invest/components/fileList";
- import followList from "../invest/components/followList";
- import meetingList from "../invest/components/meetingList";
- import projectList from "../invest/components/projectList";
- import tableForm from "../invest/components/tableForm";
- import listAllfile from "../invest/components/listAllfile";
- import dueDiligenceList from "../project/investigate/dueDiligenceList";
- import fileItem from "../invest/components/fileItem";
- import {
- getPool,
- listProjectPoolId,
- getInvestigatelist,
- getInvestReviewList,
- } from "@/api/invest/pool";
- import {
- listMeeting,
- listProjectPoolIdNewApproval,
- listProjectPoolIdNewDecision,
- } from "@/api/invest/meeting";
- import { mapGetters } from "vuex";
- import flowBase from "./flowBase.vue";
- export default {
- name: "investPoolDetail",
- components: {
- flowBase,
- poolForm,
- contractList,
- fileList,
- followList,
- meetingList,
- projectList,
- tableForm,
- listAllfile,
- dueDiligenceList,
- fileItem,
- },
- data() {
- return {
- showDueApply: false,
- meetingId: "0",
- activeTimeList: [], //活动
- investReviewTimeList: [], //考察评估
- type: "2",
- id: "",
- active: 0,
- detailInfo: {
- projectName: "",
- },
- activeName: "0",
- activities: [
- {
- content: "活动按期开始",
- timestamp: "2018-04-15",
- },
- {
- content: "通过审核",
- timestamp: "2018-04-13",
- },
- {
- content: "创建成功",
- timestamp: "2018-04-11",
- },
- ],
- formLXApply: {
- id: null,
- projectPoolId: null,
- projectName: null,
- projectOverview: null,
- projectSparkle: null,
- listFile: null,
- participants: null,
- participantsId: null,
- procInstId:null,
- },
- formTJApply: {
- id: null,
- projectPoolId: null,
- projectName: null,
- provision: null,
- listFile: null,
- participants: null,
- participantsId: null,
- procInstId:null
- },
- isShowFlow: false // 父组件中的变量
- };
- },
- computed: {
- ...mapGetters(["user"]),
- },
- created() {
- this.id = this.$route.query.id;
- this.getDetail();
- this.getListProjectPoolId();
- this.getDueList();
- if (this.$route.query.activeName) {
- this.activeName = this.$route.query.activeName;
- }
- },
- methods: {
- /** 查询列表 */
- changeShowDueApply(showDueApply) {
- this.showDueApply = showDueApply === "1";
- },
- getDueList() {
- // this.loading = true;
- let queryParams = {
- orderByColumn: "createTime",
- isAsc: "desc",
- projectPoolId: this.id,
- };
- getInvestigatelist(queryParams).then((response) => {
- let list = response.rows,
- showDueApply;
- // 如果尽调全部完成,才能显示发起尽调;
- if (list && list.length > 0) {
- showDueApply = list.every(function (item) {
- return item.status === "1";
- });
- } else {
- showDueApply = true;
- }
- this.showDueApply = showDueApply;
- });
- },
- // 切换tab并且打开新增
- // handleTab(activeName, name) {
- // this.activeName = activeName.toString();
- // this.$store.commit("SET_PROJECTITEMMESSAGE", this.detailInfo);
- // setTimeout(() => {
- // this.$refs[name].handleAdd(this.id);
- // }, 300);
- // },
- getMettingId(type) {
- let queryParams = {
- pageNum: 1,
- pageSize: 10,
- meetingType: type,
- orderByColumn: "createTime",
- isAsc: "desc",
- projectPoolId: this.id,
- };
- listMeeting(queryParams).then((response) => {
- let meetingList = response.rows;
- if (meetingList.length > 0) {
- let meetingId = meetingList[0].id;
- if (type === "LX") {
- this.$refs.approvalTableForm.initialize(meetingId);
- } else if (type === "TJ") {
- this.$refs.voteTableForm.initialize(meetingId);
- }
- } else {
- if (type === "LX") {
- this.$refs.approvalTableForm.showNodata();
- } else if (type === "TJ") {
- this.$refs.voteTableForm.showNodata();
- }
- }
- });
- },
- handleClick(tab, event) {
- let that = this;
- if (this.activeName === "0") {
- // 活动
- this.getListProjectPoolId();
- } else if (this.activeName === "1") {
- // 项目报备
- this.getDetail();
- } else if (this.activeName === "9") {
- // 考察评估
- this.getListInvestReviewList();
- } else if (this.activeName === "3") {
- // 项目立项
- this.getMettingId("LX");
- this.getlistProjectPoolIdNewApproval();
- } else if (this.activeName === "4") {
- // 尽职背调
- setTimeout(() => {
- this.$refs.dueDiligenceLists.handleShowDetail(this.id);
- }, 300);
- } else if (this.activeName === "5") {
- // 项目投决
- this.getMettingId("TJ");
- this.getlistProjectPoolIdNewDecision();
- }
- },
- // 获取立项申请
- getlistProjectPoolIdNewApproval() {
- let that = this;
- listProjectPoolIdNewApproval(this.id).then((response) => {
- if (response && response.data) {
- that.formLXApply = response.data;
- setTimeout(() => {
- //立项申请报告
- this.$refs.fileItemLXApply.handleButton();
- this.$refs.fileItemLXApply.fileList = [];
- this.$refs.fileItemLXApply.getListFileBusinessId(that.formLXApply.id,"10");
- //项目行研报告
- this.$refs.industryFileItem.handleButton();
- this.$refs.industryFileItem.fileList = [];
- this.$refs.industryFileItem.getListFileBusinessId(that.formLXApply.id, "12");
- //项目技术报告
- this.$refs.technicalFileItem.handleButton();
- this.$refs.technicalFileItem.fileList = [];
- this.$refs.technicalFileItem.getListFileBusinessId(that.formLXApply.id, "13");
- //其他附件
- this.$refs.otherFileItem.handleButton();
- this.$refs.otherFileItem.fileList = [];
- this.$refs.otherFileItem.getListFileBusinessId(that.formLXApply.id, "0");
- }, 300);
- }
- });
- },
- // 获取投决申请
- getlistProjectPoolIdNewDecision() {
- let that = this;
- listProjectPoolIdNewDecision(this.id).then((response) => {
- if (response && response.data) {
- that.formTJApply = response.data;
- setTimeout(() => {
- this.$refs.fileItemTJApply.handleButton();
- this.$refs.fileItemTJApply.fileList = [];
- this.$refs.fileItemTJApply.getListFileBusinessId(that.formTJApply.id,"11");
- //其他附件
- this.$refs.otherFileItem.handleButton();
- this.$refs.otherFileItem.fileList = [];
- this.$refs.otherFileItem.getListFileBusinessId(that.formTJApply.id, "0");
- }, 300);
- }
- });
- },
- getDetail() {
- getPool(this.id).then((response) => {
- this.detailInfo = response.data;
- // 项目退出完成n
- if (response.data.projectState === "n") {
- this.active = parseInt(response.data.projectStage);
- } else {
- this.active = parseInt(response.data.projectStage) - 1;
- }
- });
- },
- // 根据项目ID获取项目流转记录---活动
- getListProjectPoolId() {
- listProjectPoolId(this.id).then((response) => {
- this.activeTimeList = response.data;
- });
- },
- // 查询评审记录列表
- getListInvestReviewList() {
- getInvestReviewList(this.id).then((response) => {
- this.investReviewTimeList = response.rows;
- });
- },
- },
- };
- </script>
- <style lang="scss" scoped>
- .detailWrapper {
- padding: 20px 0;
- width: 92%;
- margin: 0 auto;
- .section1 {
- p {
- font-size: 24px;
- font-weight: bold;
- margin: 0;
- }
- > div:first-child {
- // width: calc(100% - 700px);
- width: 100%;
- }
- .btnList {
- width: 700px;
- display: flex;
- justify-content: flex-end;
- }
- }
- .basicsInfo {
- font-size: 14px;
- background: #f1f1f1;
- margin-top: -24px;
- width: 100%;
- padding: 30px 20px 10px;
- div {
- color: #7e7d7d;
- }
- p {
- font-size: 16px;
- color: #333;
- font-weight: bold;
- }
- }
- .section3 {
- margin-top: 40px;
- }
- }
- .projectNameTit {
- }
- .alreadyStop {
- font-weight: normal;
- font-size: 12px;
- background: #ff0000;
- color: #fff;
- border-radius: 5px;
- padding: 5px 10px;
- margin-left: 10px;
- }
- </style>
|