detail.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. <template>
  2. <div class="detailWrapper">
  3. <section class="section1 public-flex">
  4. <div class="public-margin-r-20">
  5. <h4>
  6. 投资项目
  7. <span class="alreadyStop" v-if="detailInfo.delFlag === '1'"
  8. >已终止</span
  9. >
  10. </h4>
  11. <p class="projectNameTit">{{ detailInfo.projectName }}</p>
  12. </div>
  13. </section>
  14. <el-divider></el-divider>
  15. <section>
  16. <!-- :space="200" -->
  17. <el-divider></el-divider>
  18. <div
  19. class="public-flex-between basicsInfo"
  20. v-if="detailInfo.projectState != '1'"
  21. >
  22. <div class="public-flex-center-column">
  23. <div>项目公司名称</div>
  24. <p
  25. style="width: 250px; text-align: center"
  26. class="yichu1"
  27. v-if="
  28. detailInfo.tProjectCompany &&
  29. detailInfo.tProjectCompany.companyName
  30. "
  31. >
  32. {{ detailInfo.tProjectCompany.companyName }}
  33. </p>
  34. </div>
  35. <div class="public-flex-center-column">
  36. <div>渠道</div>
  37. <p
  38. v-if="
  39. detailInfo.tProjectChannel &&
  40. detailInfo.tProjectChannel.channelName
  41. "
  42. >
  43. {{ detailInfo.tProjectChannel.channelName }}
  44. </p>
  45. <p v-else>无</p>
  46. </div>
  47. <div class="public-flex-center-column">
  48. <div>项目负责人</div>
  49. <p>{{ detailInfo.investHead }}</p>
  50. </div>
  51. <div class="public-flex-center-column" v-if="detailInfo.projectDate">
  52. <div>立项通过日期</div>
  53. <p>{{ detailInfo.projectDate }}</p>
  54. </div>
  55. <div class="public-flex-center-column" v-if="detailInfo.decisionDate">
  56. <div>投决通过日期</div>
  57. <p>{{ detailInfo.decisionDate }}</p>
  58. </div>
  59. <div class="public-flex-center-column">
  60. <div>投前估值(万元)</div>
  61. <p>{{ detailInfo.investValuation }}</p>
  62. </div>
  63. <div class="public-flex-center-column">
  64. <div>预计投资金额(万元)</div>
  65. <p>{{ detailInfo.investMoney }}</p>
  66. </div>
  67. </div>
  68. </section>
  69. <section class="section3">
  70. <el-tabs v-model="activeName" @tab-click="handleClick">
  71. <el-tab-pane label="终止申请信息" name="0"></el-tab-pane>
  72. <el-tab-pane label="项目基本信息" name="1"></el-tab-pane>
  73. </el-tabs>
  74. <section>
  75. <div v-if="activeName === '0'" class="public-padded-20 detail-meeting">
  76. <el-tabs type="border-card">
  77. <el-tab-pane label="项目终止申请表">
  78. <el-form
  79. v-if="formZZApply.id"
  80. class="special-el-form public-padded-t-20"
  81. ref="formTJApply"
  82. :model="formZZApply"
  83. label-width="120px"
  84. >
  85. <el-form-item
  86. label="终止原因"
  87. prop="reason"
  88. class="special-el-form-item"
  89. >
  90. <el-input
  91. rows="4"
  92. type="textarea"
  93. maxlength="200"
  94. v-model="formZZApply.reason"
  95. disabled
  96. />
  97. </el-form-item>
  98. </el-form>
  99. <div
  100. v-else
  101. class="public-flex-center public-padded-20"
  102. style="color: #909399"
  103. >
  104. 暂无数据
  105. </div>
  106. </el-tab-pane>
  107. </el-tabs>
  108. </div>
  109. <div v-show="activeName === '1'">
  110. <poolForm :type="type" :id="id"></poolForm>
  111. </div>
  112. </section>
  113. </section>
  114. <section>
  115. <flowBase :procInstId="formZZApply.procInstId" v-if="formZZApply.procInstId"></flowBase>
  116. </section>
  117. </div>
  118. </template>
  119. <script>
  120. import poolForm from "../../invest/components/poolForm";
  121. import flowBase from "../flowBase.vue";
  122. import {
  123. getPool
  124. } from "@/api/invest/pool";
  125. import {
  126. listProjectPoolIdNewTermination
  127. } from "@/api/invest/meeting";
  128. import { mapGetters } from "vuex";
  129. export default {
  130. name: "terminationDetail",
  131. components: {
  132. poolForm,
  133. flowBase
  134. },
  135. data() {
  136. return {
  137. type: "2",
  138. id: "",
  139. active: 0,
  140. detailInfo: {
  141. projectName: "",
  142. },
  143. activeName: "0",
  144. formZZApply: {
  145. id: null,
  146. procInstId:null,
  147. projectPoolId: null,
  148. projectName: null,
  149. reason: null,
  150. },
  151. };
  152. },
  153. computed: {
  154. ...mapGetters(["user"]),
  155. },
  156. created() {
  157. this.id = this.$route.query.id;
  158. this.getDetail();
  159. this.getlistProjectPoolIdNewTermination();
  160. if (this.$route.query.activeName) {
  161. this.activeName = this.$route.query.activeName;
  162. }
  163. },
  164. methods: {
  165. handleClick(tab, event) {
  166. let that = this;
  167. if (this.activeName === "0") {
  168. // 项目投决
  169. this.getlistProjectPoolIdNewTermination();
  170. } else if (this.activeName === "1") {
  171. // 项目报备
  172. this.getDetail();
  173. }
  174. },
  175. // 获取投决申请
  176. getlistProjectPoolIdNewTermination() {
  177. let that = this;
  178. listProjectPoolIdNewTermination(this.id).then((response) => {
  179. if (response && response.data) {
  180. that.formZZApply = response.data;
  181. /*setTimeout(() => {
  182. that.$refs.fileItemTJApply.handleButton();
  183. that.$refs.fileItemTJApply.fileList = [];
  184. that.$refs.fileItemTJApply.getListFileBusinessId(
  185. that.formTJApply.id
  186. );
  187. }, 300);*/
  188. }
  189. });
  190. },
  191. getDetail() {
  192. getPool(this.id).then((response) => {
  193. this.detailInfo = response.data;
  194. // 项目退出完成n
  195. if (response.data.projectState === "n") {
  196. this.active = parseInt(response.data.projectStage);
  197. } else {
  198. this.active = parseInt(response.data.projectStage) - 1;
  199. }
  200. });
  201. },
  202. },
  203. };
  204. </script>
  205. <style lang="scss" scoped>
  206. .detailWrapper {
  207. padding: 20px 0;
  208. width: 92%;
  209. margin: 0 auto;
  210. .section1 {
  211. p {
  212. font-size: 24px;
  213. font-weight: bold;
  214. margin: 0;
  215. }
  216. > div:first-child {
  217. // width: calc(100% - 700px);
  218. width: 100%;
  219. }
  220. .btnList {
  221. width: 700px;
  222. display: flex;
  223. justify-content: flex-end;
  224. }
  225. }
  226. .basicsInfo {
  227. font-size: 14px;
  228. background: #f1f1f1;
  229. margin-top: -24px;
  230. width: 100%;
  231. padding: 30px 20px 10px;
  232. div {
  233. color: #7e7d7d;
  234. }
  235. p {
  236. font-size: 16px;
  237. color: #333;
  238. font-weight: bold;
  239. }
  240. }
  241. .section3 {
  242. margin-top: 40px;
  243. }
  244. }
  245. .projectNameTit {
  246. }
  247. .alreadyStop {
  248. font-weight: normal;
  249. font-size: 12px;
  250. background: #ff0000;
  251. color: #fff;
  252. border-radius: 5px;
  253. padding: 5px 10px;
  254. margin-left: 10px;
  255. }
  256. </style>