audit.vue 80 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156
  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. <el-divider></el-divider>
  17. <div class="public-flex-between basicsInfo" v-if="detailInfo.projectState != '1'">
  18. <div class="public-flex-center-column">
  19. <div>项目公司名称</div>
  20. <p style="width: 250px; text-align: center" class="yichu1"
  21. v-if="
  22. detailInfo.tProjectCompany &&
  23. detailInfo.tProjectCompany.companyName
  24. ">
  25. {{ detailInfo.tProjectCompany.companyName }}
  26. </p>
  27. </div>
  28. <div class="public-flex-center-column">
  29. <div>渠道</div>
  30. <p
  31. v-if="
  32. detailInfo.tProjectChannel &&
  33. detailInfo.tProjectChannel.channelName
  34. "
  35. >
  36. {{ detailInfo.tProjectChannel.channelName }}
  37. </p>
  38. <p v-else>无</p>
  39. </div>
  40. <div class="public-flex-center-column">
  41. <div>项目负责人</div>
  42. <p>{{ detailInfo.investHead }}</p>
  43. </div>
  44. <div class="public-flex-center-column" v-if="detailInfo.projectDate">
  45. <div>立项通过日期</div>
  46. <p>{{ detailInfo.projectDate }}</p>
  47. </div>
  48. <div class="public-flex-center-column" v-if="detailInfo.decisionDate">
  49. <div>投决通过日期</div>
  50. <p>{{ detailInfo.decisionDate }}</p>
  51. </div>
  52. <div class="public-flex-center-column">
  53. <div>投前估值(万元)</div>
  54. <p>{{ detailInfo.investValuation }}</p>
  55. </div>
  56. <div class="public-flex-center-column">
  57. <div>预计投资金额(万元)</div>
  58. <p>{{ detailInfo.investMoney }}</p>
  59. </div>
  60. </div>
  61. </section>
  62. <section class="section3">
  63. <el-tabs v-model="activeName" @tab-click="handleClick">
  64. <el-tab-pane label="立项信息" name="0"></el-tab-pane>
  65. <el-tab-pane label="项目基本信息" name="1"></el-tab-pane>
  66. </el-tabs>
  67. <section>
  68. <div v-if="activeName === '0'" class="public-padded-20 detail-meeting">
  69. <el-tabs type="border-card" v-model="activeTab">
  70. <el-tab-pane label="项目立项申请表" name="apply">
  71. <el-form
  72. v-if="formLXApply.id"
  73. class="special-el-form public-padded-t-20"
  74. ref="formLXApply"
  75. :model="formLXApply"
  76. :rules="rulesLXApply"
  77. label-width="120px"
  78. >
  79. <el-form-item
  80. label="项目概况"
  81. prop="projectOverview"
  82. class="special-el-form-item"
  83. >
  84. <el-input
  85. rows="4"
  86. type="textarea"
  87. maxlength="200"
  88. v-model="formLXApply.projectOverview"
  89. disabled
  90. />
  91. </el-form-item>
  92. <el-form-item
  93. label="项目亮点"
  94. prop="projectSparkle"
  95. class="special-el-form-item"
  96. >
  97. <el-input
  98. rows="4"
  99. type="textarea"
  100. maxlength="200"
  101. v-model="formLXApply.projectSparkle"
  102. disabled
  103. />
  104. </el-form-item>
  105. <el-form-item label="立项申请报告" prop="listFile" class="special-el-form-item">
  106. <fileItem ref="fileItemLXApply" :id="formLXApply.id" :is-detail="true"></fileItem>
  107. </el-form-item>
  108. <el-form-item label="项目行研报告" class="special-el-form-item" v-if="formLXApply.taskDefKey=='president'">
  109. <fileItem ref="industryFileItem" :id="formLXApply.id" :is-detail="true"></fileItem>
  110. </el-form-item>
  111. <el-form-item label="项目技术报告" class="special-el-form-item" v-if="formLXApply.taskDefKey=='president'">
  112. <fileItem ref="technicalFileItem" :id="formLXApply.id" :is-detail="true"></fileItem>
  113. </el-form-item>
  114. <el-form-item label="其他附件" prop="otherListFile" class="special-el-form-item">
  115. <fileItem ref="otherFileItem" :id="formLXApply.id" :is-detail="true"></fileItem>
  116. </el-form-item>
  117. <el-form-item label="项目行研报告" prop="industryListFile" class="special-el-form-item" v-if="formLXApply.taskDefKey=='industryResearch'">
  118. <fileItem ref="industryFileItem" :id="formLXApply.id" @getFileList="getIndustryFileList"></fileItem>
  119. </el-form-item>
  120. <el-form-item label="项目技术报告" prop="technicalListFile" class="special-el-form-item" v-if="formLXApply.taskDefKey=='technicalResearch'">
  121. <fileItem ref="technicalFileItem" :id="formLXApply.id" @getFileList="getTechnicalFileList"></fileItem>
  122. </el-form-item>
  123. </el-form>
  124. <div
  125. v-else
  126. class="public-flex-center public-padded-20"
  127. style="color: #909399"
  128. >
  129. 暂无数据
  130. </div>
  131. </el-tab-pane>
  132. <!-- <el-tab-pane :label="formType === 1 ? '项目立项评估评审表' : '项目立项评估评审汇总表'" v-if="formLXApply.taskDefKey!='deptLeader'&&formLXApply.taskDefKey!='meeting'" name="review">
  133. <el-form
  134. class="table-form ss_scoreTable"
  135. ref="scoreForm"
  136. :model="scoreForm"
  137. :rules="scoreRules"
  138. label-width="0px"
  139. >
  140. <table v-if="formType === 1" border="1" cellpadding="0" cellspacing="0">
  141. <thead>
  142. <tr>
  143. <th colspan="10" class="bg-blue">项目立项评估评审表</th>
  144. </tr>
  145. <tr class="specificTr">
  146. <th>项目名称</th>
  147. <th>
  148. <textarea
  149. class="table-textarea"
  150. v-model="scoreForm.projectName"
  151. name=""
  152. disabled
  153. ></textarea>
  154. </th>
  155. <th>项目所属公司</th>
  156. <th colspan="3">
  157. <textarea
  158. class="table-textarea"
  159. v-model="form1.tProjectPool.company"
  160. name=""
  161. disabled
  162. ></textarea>
  163. </th>
  164. <th>项目负责人</th>
  165. <th>
  166. <textarea
  167. class="table-textarea"
  168. v-model="scoreForm.investCommissioner"
  169. name=""
  170. disabled
  171. ></textarea>
  172. </th>
  173. <th>打分人</th>
  174. <th>
  175. <textarea
  176. v-model="user.nickName"
  177. class="table-textarea"
  178. name=""
  179. disabled
  180. ></textarea>
  181. </th>
  182. </tr>
  183. <tr class="bg-blue">
  184. <th>序号</th>
  185. <th>评审类别</th>
  186. <th>评审事项</th>
  187. <th colspan="3">评审指标</th>
  188. <th>标准分值(满分50)</th>
  189. <th colspan="2">市场部/投资部打分</th>
  190. <th>备注【如不适用,需说明情况】</th>
  191. </tr>
  192. </thead>
  193. <tbody class="text-center">
  194. <tr>
  195. <td rowspan="2">1</td>
  196. <td rowspan="2">模式先进</td>
  197. <td>产业优势</td>
  198. <td colspan="3" class="text-left">
  199. 满足以下条件之一:市场热点、新经济、强势传统产业
  200. </td>
  201. <td>
  202. 阶段性:0-1<br />
  203. 持久:2-3<br />
  204. 持久重大:4-5
  205. </td>
  206. <td colspan="2">
  207. <el-form-item prop="industryAdvantage">
  208. <el-input
  209. :disabled="readonly"
  210. v-model="scoreForm.industryAdvantage"
  211. name="industryAdvantage"
  212. type="text"
  213. class="table-input"
  214. prop="industryAdvantage"
  215. :min="0"
  216. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>5){value=5}}"
  217. />
  218. </el-form-item>
  219. </td>
  220. <td>
  221. <textarea
  222. :disabled="readonly"
  223. v-model="scoreForm.industryAdvantageNote"
  224. name="industryAdvantageNote"
  225. class="table-textarea"
  226. ></textarea>
  227. </td>
  228. </tr>
  229. <tr>
  230. <td>商业模式</td>
  231. <td colspan="3" class="text-left">
  232. 满足以下条件之一:技术/行业/渠道优势明显、模式创新度高、降本增效显著
  233. </td>
  234. <td>
  235. 先进:0-3<br />
  236. 非常先进:4-5<br />
  237. 超级先进:6-7<br />
  238. 颠覆性的:8-9
  239. </td>
  240. <td colspan="2">
  241. <el-form-item prop="businessModel">
  242. <el-input
  243. :disabled="readonly"
  244. v-model="scoreForm.businessModel"
  245. name="businessModel"
  246. type="text"
  247. class="table-input"
  248. :min="0"
  249. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>9){value=9}}"
  250. />
  251. </el-form-item>
  252. </td>
  253. <td>
  254. <textarea
  255. :disabled="readonly"
  256. v-model="scoreForm.businessModelNote"
  257. name="businessModelNote"
  258. class="table-textarea"
  259. ></textarea>
  260. </td>
  261. </tr>
  262. <tr>
  263. <td rowspan="4">2</td>
  264. <td rowspan="4">团队优秀</td>
  265. <td rowspan="4">核心团队优秀</td>
  266. <td colspan="3">
  267. 创业团队专业,产业背景出身,至少十年以上行业经验
  268. </td>
  269. <td>
  270. 10年以上产业经验:0-2<br />
  271. 15年以上产业经验:3-4
  272. </td>
  273. <td colspan="2">
  274. <el-form-item prop="teamExperience">
  275. <el-input
  276. :disabled="readonly"
  277. v-model="scoreForm.teamExperience"
  278. name="teamExperience"
  279. type="text"
  280. class="table-input"
  281. :min="0"
  282. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>4){value=4}}"
  283. />
  284. </el-form-item>
  285. </td>
  286. <td>
  287. <textarea
  288. :disabled="readonly"
  289. class="table-textarea"
  290. v-model="scoreForm.teamExperienceNote"
  291. name="teamExperienceNote"
  292. ></textarea>
  293. </td>
  294. </tr>
  295. <tr>
  296. <td colspan="3">
  297. 创始团队背景为行业内专家/教授/名校哈佛大学博士/行业内龙头企业技术团队等
  298. </td>
  299. <td>
  300. 硕士博士团队:0-2<br />
  301. 行业内知名专家、世界名校博士、行业内龙头企业技术团队:3-4
  302. </td>
  303. <td colspan="2">
  304. <el-form-item prop="teamBackground">
  305. <el-input
  306. :disabled="readonly"
  307. type="text"
  308. v-model="scoreForm.teamBackground"
  309. name="teamBackground"
  310. class="table-input"
  311. :min="0"
  312. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>4){value=4}}"
  313. />
  314. </el-form-item>
  315. </td>
  316. <td>
  317. <textarea
  318. :disabled="readonly"
  319. class="table-textarea"
  320. v-model="scoreForm.teamBackgroundNote"
  321. name="teamBackgroundNote"
  322. ></textarea>
  323. </td>
  324. </tr>
  325. <tr>
  326. <td colspan="3">
  327. 拥有3位以上德才兼备、同心同德的核心团队成员,能够支撑企业快速扩张
  328. </td>
  329. <td>
  330. 强:0-2 <br />
  331. 很强:3-4
  332. </td>
  333. <td colspan="2">
  334. <el-form-item prop="teamHeart">
  335. <el-input
  336. :disabled="readonly"
  337. type="text"
  338. v-model="scoreForm.teamHeart"
  339. name="teamHeart"
  340. class="table-input"
  341. :min="0"
  342. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>4){value=4}}"
  343. />
  344. </el-form-item>
  345. </td>
  346. <td>
  347. <textarea
  348. :disabled="readonly"
  349. class="table-textarea"
  350. v-model="scoreForm.teamHeartNote"
  351. name="teamHeartNote"
  352. ></textarea>
  353. </td>
  354. </tr>
  355. <tr>
  356. <td colspan="3">
  357. 团队领袖诚信、学习能力意愿强,具有很强的职业精神、职业道德、职业技能
  358. </td>
  359. <td>
  360. 合格:0-2<br />
  361. 优秀:3-5 <br />
  362. 卓越:6-8
  363. </td>
  364. <td colspan="2">
  365. <el-form-item prop="teamFaith">
  366. <el-input
  367. :disabled="readonly"
  368. type="text"
  369. v-model="scoreForm.teamFaith"
  370. name="teamFaith"
  371. class="table-input"
  372. :min="0"
  373. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>8){value=8}}"
  374. />
  375. </el-form-item>
  376. </td>
  377. <td>
  378. <textarea
  379. :disabled="readonly"
  380. class="table-textarea"
  381. v-model="scoreForm.teamFaithNote"
  382. name="teamFaithNote"
  383. ></textarea>
  384. </td>
  385. </tr>
  386. <tr>
  387. <td rowspan="5">3</td>
  388. <td rowspan="5">企业价值</td>
  389. <td rowspan="2">初步产品原型</td>
  390. <td colspan="3">
  391. 具备一定的技术基础和原型,能够证明产品的可行性和创新性,能够为用户真正带来价值。
  392. </td>
  393. <td>2</td>
  394. <td colspan="2">
  395. <el-form-item prop="productBase">
  396. <el-input
  397. :disabled="readonly"
  398. type="text"
  399. v-model="scoreForm.productBase"
  400. name="productBase"
  401. class="table-input"
  402. :min="0"
  403. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>2){value=2}}"
  404. />
  405. </el-form-item>
  406. </td>
  407. <td>
  408. <textarea
  409. :disabled="readonly"
  410. class="table-textarea"
  411. v-model="scoreForm.productBaseNote"
  412. name="productBaseNote"
  413. ></textarea>
  414. </td>
  415. </tr>
  416. <tr>
  417. <td colspan="3">具有明确的盈利模式</td>
  418. <td>2</td>
  419. <td colspan="2">
  420. <el-form-item prop="productProfit">
  421. <el-input
  422. :disabled="readonly"
  423. type="text"
  424. v-model="scoreForm.productProfit"
  425. name="productProfit"
  426. class="table-input"
  427. :min="0"
  428. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>2){value=2}}"
  429. />
  430. </el-form-item>
  431. </td>
  432. <td>
  433. <textarea
  434. :disabled="readonly"
  435. class="table-textarea"
  436. v-model="scoreForm.productProfitNote"
  437. name="productProfitNote"
  438. ></textarea>
  439. </td>
  440. </tr>
  441. <tr>
  442. <td rowspan="2">机构认可</td>
  443. <td colspan="3">
  444. 清科、投中年度排行前一百位的投资机构或上市公司、中国500强知名企业或知名投资人投资。
  445. </td>
  446. <td>1</td>
  447. <td colspan="2">
  448. <el-form-item prop="organInvest">
  449. <el-input
  450. :disabled="readonly"
  451. type="text"
  452. v-model="scoreForm.organInvest"
  453. name="organInvest"
  454. class="table-input"
  455. :min="0"
  456. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>1){value=1}}"
  457. />
  458. </el-form-item>
  459. </td>
  460. <td>
  461. <textarea
  462. :disabled="readonly"
  463. class="table-textarea"
  464. v-model="scoreForm.organInvestNote"
  465. name="organInvestNote"
  466. ></textarea>
  467. </td>
  468. </tr>
  469. <tr>
  470. <td colspan="3">
  471. 公司近期12个月内估值XX万元以上,且与项目公司无关联关系的专业化投资机构(人)的投资超过500万元。
  472. </td>
  473. <td>1</td>
  474. <td colspan="2">
  475. <el-form-item prop="organValuation">
  476. <el-input
  477. :disabled="readonly"
  478. v-model="scoreForm.organValuation"
  479. type="text"
  480. class="table-input"
  481. :min="0"
  482. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>1){value=1}}"
  483. />
  484. </el-form-item>
  485. </td>
  486. <td>
  487. <textarea
  488. :disabled="readonly"
  489. v-model="scoreForm.organValuationNote"
  490. class="table-textarea"
  491. name="organValuationNote"
  492. ></textarea>
  493. </td>
  494. </tr>
  495. <tr>
  496. <td>估值</td>
  497. <td colspan="3">估值水平、预期收益合理</td>
  498. <td>1</td>
  499. <td colspan="2">
  500. <el-form-item prop="valuation">
  501. <el-input
  502. :disabled="readonly"
  503. type="text"
  504. v-model="scoreForm.valuation"
  505. name="valuation"
  506. class="table-input"
  507. :min="0"
  508. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>1){value=1}}"
  509. />
  510. </el-form-item>
  511. </td>
  512. <td>
  513. <textarea
  514. :disabled="readonly"
  515. class="table-textarea"
  516. v-model="scoreForm.valuationNote"
  517. name="valuationNote"
  518. ></textarea>
  519. </td>
  520. </tr>
  521. <tr>
  522. <td rowspan="2">4</td>
  523. <td rowspan="2">市场广阔</td>
  524. <td>市场空间大</td>
  525. <td colspan="3">
  526. 行业具有高成长性,细分市场年销售规模已经达到或五年内达到50亿元。
  527. </td>
  528. <td>
  529. 50-100亿:0.5<br />
  530. 100-200亿:1<br />
  531. 200亿以上:2
  532. </td>
  533. <td colspan="2">
  534. <el-form-item prop="marketSpace">
  535. <el-input
  536. :disabled="readonly"
  537. type="text"
  538. v-model="scoreForm.marketSpace"
  539. name="marketSpace"
  540. class="table-input"
  541. :min="0"
  542. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>2){value=2}}"
  543. />
  544. </el-form-item>
  545. </td>
  546. <td>
  547. <textarea
  548. :disabled="readonly"
  549. class="table-textarea"
  550. v-model="scoreForm.marketSpaceNote"
  551. name="marketSpaceNote"
  552. ></textarea>
  553. </td>
  554. </tr>
  555. <tr>
  556. <td>成长空间大</td>
  557. <td colspan="3">预计年增长率在30%以上</td>
  558. <td>
  559. 收入年增长率30%以上:1<br />
  560. 收入年增长率50%以上:2<br />
  561. 收入年增长率70%以上:3
  562. </td>
  563. <td colspan="2">
  564. <el-form-item prop="developSpace">
  565. <el-input
  566. :disabled="readonly"
  567. type="text"
  568. v-model="scoreForm.developSpace"
  569. name="developSpace"
  570. class="table-input"
  571. :min="0"
  572. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>3){value=3}}"
  573. />
  574. </el-form-item>
  575. </td>
  576. <td>
  577. <textarea
  578. :disabled="readonly"
  579. class="table-textarea"
  580. v-model="scoreForm.developSpaceNote"
  581. name="developSpaceNote"
  582. ></textarea>
  583. </td>
  584. </tr>
  585. <tr>
  586. <td>5</td>
  587. <td>股权收益</td>
  588. <td>退出方式</td>
  589. <td colspan="3">通过并购、股权转让、股权回购等方式退出</td>
  590. <td>
  591. 退出收益5%-15%:1<br />
  592. 退出收益15%-50%:2<br />
  593. 退出收益50%-100%:3<br />
  594. 退出收益1倍以上:4
  595. </td>
  596. <td colspan="2">
  597. <el-form-item prop="quitWay">
  598. <el-input
  599. :disabled="readonly"
  600. type="text"
  601. v-model="scoreForm.quitWay"
  602. name="quitWay"
  603. class="table-input"
  604. :min="0"
  605. oninput="if(value){value=value.replace(/[^\d.]/g,'').replace(/^(\-)*(\d+)\.(\d).*$/,'$1$2.$3');if(value>4){value=4}}"
  606. />
  607. </el-form-item>
  608. </td>
  609. <td>
  610. <textarea
  611. :disabled="readonly"
  612. class="table-textarea"
  613. v-model="scoreForm.quitWayNote"
  614. name="quitWayNote"
  615. ></textarea>
  616. </td>
  617. </tr>
  618. <tr>
  619. <td colspan="3" class="big-font">同意或不同意说明</td>
  620. <td colspan="7" class="big-font">
  621. <el-form-item prop="illustrate">
  622. <el-input
  623. :disabled="readonly"
  624. type="textarea"
  625. style="width: 95%; margin-top: 20px"
  626. class="table-textarea"
  627. v-model="scoreForm.illustrate"
  628. name="illustrate"
  629. />
  630. </el-form-item>
  631. </td>
  632. </tr>
  633. <tr>
  634. <td colspan="10" class="text-left big-font">
  635. 评分说明:<br />
  636. 1.
  637. 固定指标分值部分,评分人需根据项目实际情况,评分范围仅有0分和满分,满分为各评审指标对应的标准分值。<br />
  638. 2.
  639. 浮动指标分值部分,最高分值为各评审指标对应的最高区间分值,最低分值为0分,分值保留小数点后一位数字。
  640. </td>
  641. </tr>
  642. </tbody>
  643. </table>
  644. <table
  645. v-if="formType === 2"
  646. border="1"
  647. cellpadding="0"
  648. cellspacing="0"
  649. class="allScoring"
  650. >
  651. <thead>
  652. <tr>
  653. <th colspan="10" class="bg-blue">项目立项评估评审汇总表</th>
  654. </tr>
  655. <tr class="specificTr">
  656. <th>项目名称</th>
  657. <th>
  658. <textarea
  659. class="table-textarea"
  660. v-model="scoreForm.projectName"
  661. name=""
  662. disabled
  663. ></textarea>
  664. </th>
  665. <th>项目所属公司</th>
  666. <th colspan="3">
  667. <textarea
  668. class="table-textarea"
  669. v-model="form1.tProjectPool.company"
  670. name=""
  671. disabled
  672. ></textarea>
  673. </th>
  674. <th>项目负责人</th>
  675. <th>
  676. <textarea
  677. class="table-textarea"
  678. name=""
  679. v-model="collectForm.investCommissioner"
  680. disabled
  681. ></textarea>
  682. </th>
  683. <th>总人数</th>
  684. <th>
  685. <textarea
  686. v-model="collectForm.totalPerson"
  687. class="table-textarea"
  688. name=""
  689. disabled
  690. ></textarea>
  691. </th>
  692. </tr>
  693. <tr class="bg-blue">
  694. <th>序号</th>
  695. <th>评审类别</th>
  696. <th>评审事项</th>
  697. <th colspan="3">评审指标</th>
  698. <th>标准分值(满分50)</th>
  699. <th colspan="2">汇总分数</th>
  700. <th>平均分数</th>
  701. </tr>
  702. </thead>
  703. <tbody class="text-center">
  704. <tr>
  705. <td rowspan="2">1</td>
  706. <td rowspan="2">模式先进</td>
  707. <td>产业优势</td>
  708. <td colspan="3" class="text-left">
  709. 满足以下条件之一:市场热点、新经济、强势传统产业
  710. </td>
  711. <td>
  712. 阶段性:0-1<br />
  713. 持久:2-3<br />
  714. 持久重大:4-5
  715. </td>
  716. <td colspan="2">
  717. <input
  718. autocomplete="off"
  719. v-model="collectForm.industryAdvantageSum"
  720. name="industryAdvantageSum"
  721. type="text"
  722. class="table-input"
  723. disabled
  724. />
  725. </td>
  726. <td>
  727. <input
  728. autocomplete="off"
  729. type="text"
  730. v-model="collectForm.industryAdvantageAvg"
  731. name="industryAdvantageAvg"
  732. class="table-input"
  733. disabled
  734. />
  735. </td>
  736. </tr>
  737. <tr>
  738. <td>商业模式</td>
  739. <td colspan="3" class="text-left">
  740. 满足以下条件之一:技术/行业/渠道优势明显、模式创新度高、降本增效显著
  741. </td>
  742. <td>
  743. 先进:0-3<br />
  744. 非常先进:4-5<br />
  745. 超级先进:6-7<br />
  746. 颠覆性的:8-9
  747. </td>
  748. <td colspan="2">
  749. <input
  750. autocomplete="off"
  751. type="text"
  752. v-model="collectForm.businessModelSum"
  753. name="businessModelSum"
  754. class="table-input"
  755. disabled
  756. />
  757. </td>
  758. <td>
  759. <input
  760. autocomplete="off"
  761. type="text"
  762. v-model="collectForm.businessModelAvg"
  763. name="businessModelAvg"
  764. class="table-input"
  765. disabled
  766. />
  767. </td>
  768. </tr>
  769. <tr>
  770. <td rowspan="4">2</td>
  771. <td rowspan="4">团队优秀</td>
  772. <td rowspan="4">核心团队优秀</td>
  773. <td colspan="3">
  774. 创业团队专业,产业背景出身,至少十年以上行业经验
  775. </td>
  776. <td>
  777. 10年以上产业经验:0-2<br />
  778. 15年以上产业经验:3-4
  779. </td>
  780. <td colspan="2">
  781. <input
  782. autocomplete="off"
  783. type="text"
  784. v-model="collectForm.teamExperienceSum"
  785. name="teamExperienceSum"
  786. class="table-input"
  787. disabled
  788. />
  789. </td>
  790. <td>
  791. <input
  792. autocomplete="off"
  793. type="text"
  794. v-model="collectForm.teamExperienceAvg"
  795. name="teamExperienceAvg"
  796. class="table-input"
  797. disabled
  798. />
  799. </td>
  800. </tr>
  801. <tr>
  802. <td colspan="3">
  803. 创始团队背景为行业内专家/教授/名校哈佛大学博士/行业内龙头企业技术团队等
  804. </td>
  805. <td>
  806. 硕士博士团队:0-2<br />
  807. 行业内知名专家、世界名校博士、行业内龙头企业技术团队:3-4
  808. </td>
  809. <td colspan="2">
  810. <input
  811. autocomplete="off"
  812. type="text"
  813. v-model="collectForm.teamBackgroundSum"
  814. name="teamBackgroundSum"
  815. class="table-input"
  816. disabled
  817. />
  818. </td>
  819. <td>
  820. <input
  821. autocomplete="off"
  822. type="text"
  823. v-model="collectForm.teamBackgroundAvg"
  824. name="teamBackgroundAvg"
  825. class="table-input"
  826. disabled
  827. />
  828. </td>
  829. </tr>
  830. <tr>
  831. <td colspan="3">
  832. 拥有3位以上德才兼备、同心同德的核心团队成员,能够支撑企业快速扩张
  833. </td>
  834. <td>
  835. 强:0-2 <br />
  836. 很强:3-4
  837. </td>
  838. <td colspan="2">
  839. <input
  840. autocomplete="off"
  841. type="text"
  842. v-model="collectForm.teamHeartSum"
  843. name="teamHeartSum"
  844. class="table-input"
  845. disabled
  846. />
  847. </td>
  848. <td>
  849. <input
  850. autocomplete="off"
  851. type="text"
  852. v-model="collectForm.teamHeartAvg"
  853. name="teamHeartAvg"
  854. class="table-input"
  855. disabled
  856. />
  857. </td>
  858. </tr>
  859. <tr>
  860. <td colspan="3">
  861. 团队领袖诚信、学习能力意愿强,具有很强的职业精神、职业道德、职业技能
  862. </td>
  863. <td>
  864. 合格:0-2<br />
  865. 优秀:3-5 <br />
  866. 卓越:6-8
  867. </td>
  868. <td colspan="2">
  869. <input
  870. autocomplete="off"
  871. type="text"
  872. v-model="collectForm.teamFaithSum"
  873. name="teamFaithSum"
  874. class="table-input"
  875. disabled
  876. />
  877. </td>
  878. <td>
  879. <input
  880. autocomplete="off"
  881. type="text"
  882. v-model="collectForm.teamFaithAvg"
  883. name="teamFaithAvg"
  884. class="table-input"
  885. disabled
  886. />
  887. </td>
  888. </tr>
  889. <tr>
  890. <td rowspan="5">3</td>
  891. <td rowspan="5">企业价值</td>
  892. <td rowspan="2">初步产品原型</td>
  893. <td colspan="3">
  894. 具备一定的技术基础和原型,能够证明产品的可行性和创新性,能够为用户真正带来价值。
  895. </td>
  896. <td>2</td>
  897. <td colspan="2">
  898. <input
  899. autocomplete="off"
  900. type="text"
  901. v-model="collectForm.productBaseSum"
  902. name="productBaseSum"
  903. class="table-input"
  904. disabled
  905. />
  906. </td>
  907. <td>
  908. <input
  909. autocomplete="off"
  910. type="text"
  911. v-model="collectForm.productBaseAvg"
  912. name="productBaseAvg"
  913. class="table-input"
  914. disabled
  915. />
  916. </td>
  917. </tr>
  918. <tr>
  919. <td colspan="3">具有明确的盈利模式</td>
  920. <td>2</td>
  921. <td colspan="2">
  922. <input
  923. autocomplete="off"
  924. type="text"
  925. v-model="collectForm.productProfitSum"
  926. name="productProfitSum"
  927. class="table-input"
  928. disabled
  929. />
  930. </td>
  931. <td>
  932. <input
  933. autocomplete="off"
  934. type="text"
  935. v-model="collectForm.productProfitAvg"
  936. name="productProfitAvg"
  937. class="table-input"
  938. disabled
  939. />
  940. </td>
  941. </tr>
  942. <tr>
  943. <td rowspan="2">机构认可</td>
  944. <td colspan="3">
  945. 清科、投中年度排行前一百位的投资机构或上市公司、中国500强知名企业或知名投资人投资。
  946. </td>
  947. <td>1</td>
  948. <td colspan="2">
  949. <input
  950. autocomplete="off"
  951. type="text"
  952. v-model="collectForm.organInvestSum"
  953. name="organInvestSum"
  954. class="table-input"
  955. disabled
  956. />
  957. </td>
  958. <td>
  959. <input
  960. autocomplete="off"
  961. type="text"
  962. v-model="collectForm.organInvestAvg"
  963. name="organInvestAvg"
  964. class="table-input"
  965. disabled
  966. />
  967. </td>
  968. </tr>
  969. <tr>
  970. <td colspan="3">
  971. 公司近期12个月内估值XX万元以上,且与项目公司无关联关系的专业化投资机构(人)的投资超过500万元。
  972. </td>
  973. <td>1</td>
  974. <td colspan="2">
  975. <input
  976. autocomplete="off"
  977. v-model="collectForm.organValuationSum"
  978. name="organValuationSum"
  979. type="text"
  980. class="table-input"
  981. disabled
  982. />
  983. </td>
  984. <td>
  985. <input
  986. autocomplete="off"
  987. v-model="collectForm.organValuationAvg"
  988. name="organValuationAvg"
  989. type="text"
  990. class="table-input"
  991. disabled
  992. />
  993. </td>
  994. </tr>
  995. <tr>
  996. <td>估值</td>
  997. <td colspan="3">估值水平、预期收益合理</td>
  998. <td>1</td>
  999. <td colspan="2">
  1000. <input
  1001. type="text"
  1002. v-model="collectForm.valuationSum"
  1003. name="valuationSum"
  1004. class="table-input"
  1005. disabled
  1006. />
  1007. </td>
  1008. <td>
  1009. <input
  1010. autocomplete="off"
  1011. type="text"
  1012. v-model="collectForm.valuationAvg"
  1013. name="valuationAvg"
  1014. class="table-input"
  1015. disabled
  1016. />
  1017. </td>
  1018. </tr>
  1019. <tr>
  1020. <td rowspan="2">4</td>
  1021. <td rowspan="2">市场广阔</td>
  1022. <td>市场空间大</td>
  1023. <td colspan="3">
  1024. 行业具有高成长性,细分市场年销售规模已经达到或五年内达到50亿元。
  1025. </td>
  1026. <td>
  1027. 50-100亿:0.5<br />
  1028. 100-200亿:1<br />
  1029. 200亿以上:2
  1030. </td>
  1031. <td colspan="2">
  1032. <input
  1033. autocomplete="off"
  1034. type="text"
  1035. v-model="collectForm.marketSpaceSum"
  1036. name="marketSpaceSum"
  1037. class="table-input"
  1038. disabled
  1039. />
  1040. </td>
  1041. <td>
  1042. <input
  1043. autocomplete="off"
  1044. type="text"
  1045. v-model="collectForm.marketSpaceAvg"
  1046. name="marketSpaceAvg"
  1047. class="table-input"
  1048. disabled
  1049. />
  1050. </td>
  1051. </tr>
  1052. <tr>
  1053. <td>成长空间大</td>
  1054. <td colspan="3">预计年增长率在30%以上</td>
  1055. <td>
  1056. 收入年增长率30%以上:1<br />
  1057. 收入年增长率50%以上:2<br />
  1058. 收入年增长率70%以上:3
  1059. </td>
  1060. <td colspan="2">
  1061. <input
  1062. autocomplete="off"
  1063. type="text"
  1064. v-model="collectForm.developSpaceSum"
  1065. name="developSpaceSum"
  1066. class="table-input"
  1067. disabled
  1068. />
  1069. </td>
  1070. <td>
  1071. <input
  1072. autocomplete="off"
  1073. type="text"
  1074. v-model="collectForm.developSpaceAvg"
  1075. name="developSpaceAvg"
  1076. class="table-input"
  1077. disabled
  1078. />
  1079. </td>
  1080. </tr>
  1081. <tr>
  1082. <td>5</td>
  1083. <td>股权收益</td>
  1084. <td>退出方式</td>
  1085. <td colspan="3">通过并购、股权转让、股权回购等方式退出</td>
  1086. <td>
  1087. 退出收益5%-15%:1<br />
  1088. 退出收益15%-50%:2<br />
  1089. 退出收益50%-100%:3<br />
  1090. 退出收益1倍以上:4
  1091. </td>
  1092. <td colspan="2">
  1093. <input
  1094. autocomplete="off"
  1095. type="text"
  1096. v-model="collectForm.quitWaySum"
  1097. name="quitWaySum"
  1098. class="table-input"
  1099. disabled
  1100. />
  1101. </td>
  1102. <td>
  1103. <input
  1104. autocomplete="off"
  1105. type="text"
  1106. v-model="collectForm.quitWayAvg"
  1107. name="quitWayAvg"
  1108. class="table-input"
  1109. disabled
  1110. />
  1111. </td>
  1112. </tr>
  1113. <tr>
  1114. <td colspan="10" class="text-left big-font">
  1115. 评分说明:<br />
  1116. 1.
  1117. 固定指标分值部分,评分人需根据项目实际情况,评分范围仅有0分和满分,满分为各评审指标对应的标准分值。<br />
  1118. 2.
  1119. 浮动指标分值部分,最高分值为各评审指标对应的最高区间分值,最低分值为0分,分值保留小数点后一位数字。
  1120. </td>
  1121. </tr>
  1122. </tbody>
  1123. </table>
  1124. </el-form>
  1125. </el-tab-pane>-->
  1126. </el-tabs>
  1127. <!-- 会议信息开始 -->
  1128. <!-- <section v-if="formLXApply.taskDefKey==='meeting'">-->
  1129. <!-- <el-form-->
  1130. <!-- v-if="formLXApply.id"-->
  1131. <!-- class="special-el-form public-padded-t-20"-->
  1132. <!-- ref="formLXApply"-->
  1133. <!-- :model="formLXApply"-->
  1134. <!-- label-width="120px"-->
  1135. <!-- >-->
  1136. <!-- <el-form-item-->
  1137. <!-- label="立项审批人"-->
  1138. <!-- prop="participants"-->
  1139. <!-- class="special-el-form-item public-input-height-2"-->
  1140. <!-- >-->
  1141. <!-- <div-->
  1142. <!-- class="el-input__inner inputSimulation yichu1"-->
  1143. <!-- @click="handleSelectPeople(1)"-->
  1144. <!-- :title="formLXApply.participants"-->
  1145. <!-- >-->
  1146. <!-- {{ formLXApply.participants ? formLXApply.participants : "请选择" }}-->
  1147. <!-- </div>-->
  1148. <!-- </el-form-item>-->
  1149. <!-- <el-form-item-->
  1150. <!-- label="附件"-->
  1151. <!-- prop="listFile"-->
  1152. <!-- class="special-el-form-item"-->
  1153. <!-- >-->
  1154. <!-- <fileItem-->
  1155. <!-- ref="fileItemLXApply"-->
  1156. <!-- :id="formLXApply.id"-->
  1157. <!-- @getFileList="getFileListLXApply"-->
  1158. <!-- ></fileItem>-->
  1159. <!-- </el-form-item>-->
  1160. <!-- &lt;!&ndash; 关键代码:el-form-item 包裹单选组 &ndash;&gt;-->
  1161. <!-- <el-form-item label="是否需要立项会议">-->
  1162. <!-- <label>-->
  1163. <!-- <input type="radio" name="needMeeting" value="0" v-model="formLXApply.needMeeting">-->
  1164. <!-- 否-->
  1165. <!-- </label>-->
  1166. <!-- <label>-->
  1167. <!-- <input type="radio" name="needMeeting" value="1" v-model="formLXApply.needMeeting">-->
  1168. <!-- 是-->
  1169. <!-- </label>-->
  1170. <!-- </el-form-item>-->
  1171. <!-- </el-form>-->
  1172. <!-- <h3 v-if="formLXApply.needMeeting === '1'">会议信息</h3>-->
  1173. <!-- <el-form-->
  1174. <!-- class="special-el-form"-->
  1175. <!-- ref="meetingForm"-->
  1176. <!-- :model="meetingForm"-->
  1177. <!-- :rules="meetingRules"-->
  1178. <!-- label-width="120px"-->
  1179. <!-- v-if="formLXApply.needMeeting === '1'"-->
  1180. <!-- >-->
  1181. <!-- <el-form-item-->
  1182. <!-- label="项目名称"-->
  1183. <!-- prop="projectName"-->
  1184. <!-- class="special-el-form-item public-input-height-2"-->
  1185. <!-- :rules="[-->
  1186. <!-- { required: verifyProjectName, trigger: 'blur', message: '请选择' },-->
  1187. <!-- ]"-->
  1188. <!-- >-->
  1189. <!-- <div-->
  1190. <!-- class="el-input__inner inputSimulation yichu1"-->
  1191. <!-- @click="handleProjectItem"-->
  1192. <!-- :class="{ show_disabled: pageType === '1' }"-->
  1193. <!-- :title="meetingForm.projectName"-->
  1194. <!-- >-->
  1195. <!-- {{ meetingForm.projectName ? meetingForm.projectName : "请选择 " }}-->
  1196. <!-- </div>-->
  1197. <!-- <projectItem-->
  1198. <!-- ref="projectItem"-->
  1199. <!-- @getProjectInfo="getProjectInfo"-->
  1200. <!-- ></projectItem>-->
  1201. <!-- </el-form-item>-->
  1202. <!-- <el-form-item-->
  1203. <!-- label="项目阶段"-->
  1204. <!-- prop="projectStage"-->
  1205. <!-- class="special-el-form-item"-->
  1206. <!-- >-->
  1207. <!-- <el-select v-model="meetingForm.projectStage" disabled placeholder="">-->
  1208. <!-- <el-option-->
  1209. <!-- v-for="dict in dict.type.project_stage"-->
  1210. <!-- :key="dict.value"-->
  1211. <!-- :label="dict.label"-->
  1212. <!-- :value="dict.value"-->
  1213. <!-- />-->
  1214. <!-- </el-select>-->
  1215. <!-- </el-form-item>-->
  1216. <!-- <el-form-item label="会议主题" prop="meetingTheme">-->
  1217. <!-- <el-input-->
  1218. <!-- maxlength="100"-->
  1219. <!-- v-model="meetingForm.meetingTheme"-->
  1220. <!-- placeholder="请输入会议主题"-->
  1221. <!-- />-->
  1222. <!-- </el-form-item>-->
  1223. <!-- &lt;!&ndash; <el-form-item label="会议编号" prop="meetingCode">-->
  1224. <!-- <el-input v-model="form.meetingCode" placeholder="请输入会议编号" />-->
  1225. <!-- </el-form-item> &ndash;&gt;-->
  1226. <!-- <el-form-item label="会议类别" prop="meetingType">-->
  1227. <!-- <el-select-->
  1228. <!-- v-model="meetingForm.meetingType"-->
  1229. <!-- placeholder="请选择会议类别"-->
  1230. <!-- :disabled="-->
  1231. <!-- meetingTypeDisabled || (pageType === '1' && meetingType != null)-->
  1232. <!-- "-->
  1233. <!-- >-->
  1234. <!-- <el-option-->
  1235. <!-- v-for="dict in meetingTypeList"-->
  1236. <!-- :key="dict.value"-->
  1237. <!-- :label="dict.label"-->
  1238. <!-- :value="dict.value"-->
  1239. <!-- ></el-option>-->
  1240. <!-- </el-select>-->
  1241. <!-- </el-form-item>-->
  1242. <!-- <el-form-item label="会议开始时间" prop="startTime">-->
  1243. <!-- <el-date-picker-->
  1244. <!-- v-model="meetingForm.startTime"-->
  1245. <!-- type="datetime"-->
  1246. <!-- placeholder="请选择会议开始时间"-->
  1247. <!-- format="yyyy-MM-dd HH:mm"-->
  1248. <!-- value-format="yyyy-MM-dd HH:mm"-->
  1249. <!-- >-->
  1250. <!-- </el-date-picker>-->
  1251. <!-- </el-form-item>-->
  1252. <!-- <el-form-item label="会议结束时间" prop="endTime">-->
  1253. <!-- <el-date-picker-->
  1254. <!-- v-model="meetingForm.endTime"-->
  1255. <!-- format="yyyy-MM-dd HH:mm"-->
  1256. <!-- value-format="yyyy-MM-dd HH:mm"-->
  1257. <!-- type="datetime"-->
  1258. <!-- placeholder="请选择会议结束时间"-->
  1259. <!-- >-->
  1260. <!-- </el-date-picker>-->
  1261. <!-- </el-form-item>-->
  1262. <!-- <el-form-item label="会议地点" prop="place">-->
  1263. <!-- <el-input-->
  1264. <!-- maxlength="100"-->
  1265. <!-- v-model="meetingForm.place"-->
  1266. <!-- placeholder="请输入会议地点"-->
  1267. <!-- />-->
  1268. <!-- </el-form-item>-->
  1269. <!-- <el-form-item-->
  1270. <!-- label="会议发起人"-->
  1271. <!-- prop="promoter"-->
  1272. <!-- class="public-input-height"-->
  1273. <!-- >-->
  1274. <!-- <div class="el-input__inner" @click="openSelectDept(1)">-->
  1275. <!-- {{ meetingForm.promoter ? meetingForm.promoter : "请选择会议发起人" }}-->
  1276. <!-- </div>-->
  1277. <!-- <selecDept-->
  1278. <!-- ref="selecDepts"-->
  1279. <!-- @getDeptUserInfo="getDeptUserInfo"-->
  1280. <!-- :deptId="deptId"-->
  1281. <!-- ></selecDept>-->
  1282. <!-- </el-form-item>-->
  1283. <!-- <el-form-item-->
  1284. <!-- label="会议参与人"-->
  1285. <!-- prop="participants"-->
  1286. <!-- class="special-el-form-item public-input-height-2"-->
  1287. <!-- >-->
  1288. <!-- <div-->
  1289. <!-- class="el-input__inner inputSimulation yichu1"-->
  1290. <!-- @click="handleSelectPeople(2)"-->
  1291. <!-- :title="meetingForm.participants"-->
  1292. <!-- >-->
  1293. <!-- {{ meetingForm.participants ? meetingForm.participants : "请选择会议参与人" }}-->
  1294. <!-- </div>-->
  1295. <!-- </el-form-item>-->
  1296. <!-- <el-form-item label="附件" prop="file" class="special-el-form-item">-->
  1297. <!-- <fileItem-->
  1298. <!-- ref="fileItems"-->
  1299. <!-- :id="meetingForm.id"-->
  1300. <!-- @getFileList="getFileList"-->
  1301. <!-- ></fileItem>-->
  1302. <!-- </el-form-item>-->
  1303. <!-- </el-form>-->
  1304. <!-- </section>-->
  1305. <!--会议信息结束-->
  1306. </div>
  1307. <div v-show="activeName === '1'">
  1308. <poolForm :type="type" :id="id"></poolForm>
  1309. </div>
  1310. </section>
  1311. </section>
  1312. <section>
  1313. <flowBase :procInstId="formLXApply.procInstId" :id="id" v-if="formLXApply.procInstId "></flowBase>
  1314. </section>
  1315. <section>
  1316. <el-form
  1317. ref="flowBaseInfo"
  1318. :model="flowBaseInfo"
  1319. label-width="120px"
  1320. >
  1321. <el-form-item label="审批意见" prop="comment">
  1322. <el-input
  1323. maxlength="200"
  1324. rows="4"
  1325. type="textarea"
  1326. v-model="flowBaseInfo.comment"
  1327. placeholder="请填写审批意见"
  1328. >
  1329. </el-input>
  1330. </el-form-item>
  1331. <el-form-item class="btnList">
  1332. <!-- <div class="btn-group">-->
  1333. <el-button @click="goBack">返 回</el-button>
  1334. <el-button type="success" @click="handleComplete(true)">同意</el-button>
  1335. <el-button v-if="formLXApply.taskDefKey!='technicalResearch'&&formLXApply.taskDefKey!='industryResearch'&&formLXApply.taskDefKey!='president'" type="warning" @click="handleComplete(false)">驳回</el-button>
  1336. <el-button v-if="formLXApply.taskDefKey!='decision'&&formLXApply.taskDefKey=='president'" type="warning" @click="handleComplete(false)">驳回(修改)</el-button>
  1337. <el-button v-if="formLXApply.taskDefKey=='president'" type="danger" @click="handleComplete(false,1)">驳回(终止)</el-button>
  1338. <el-button v-if="formLXApply.taskDefKey=='president'" type="warning" @click="handleComplete(false,0)">观望</el-button>
  1339. <!-- </div>-->
  1340. </el-form-item>
  1341. </el-form>
  1342. </section>
  1343. <!--选择人员-->
  1344. <selecUser
  1345. ref="flowUser"
  1346. :checkType="checkType"
  1347. :selectValues="selectValues"
  1348. :selectNameValues="selectNameValues"
  1349. @handleUserSelect="handleUserSelect"
  1350. ></selecUser>
  1351. </div>
  1352. </template>
  1353. <script>
  1354. import poolForm from "../../invest/components/poolForm";
  1355. import fileItem from "../../invest/components/fileItem";
  1356. import flowBase from "../flowBase.vue";
  1357. import selecDept from "../../invest/components/selecDept";
  1358. import projectItem from "../../invest/components/projectItem";
  1359. import selecUser from "../../invest/components/selecUser";
  1360. import {
  1361. getPool
  1362. } from "@/api/invest/pool";
  1363. import{
  1364. approvalComplete,
  1365. getApprovalInfo,
  1366. getMeetingInfo,
  1367. getSumScore
  1368. } from "@/api/project/approval/pool"
  1369. import { mapGetters } from "vuex";
  1370. export default {
  1371. name: "approvalAudit",
  1372. props: {
  1373. readonly: {
  1374. type: Boolean,
  1375. },
  1376. },
  1377. dicts: ["meeting_type", "project_stage", "project_group"],
  1378. components: {
  1379. selecUser,
  1380. projectItem,
  1381. selecDept,
  1382. poolForm,
  1383. fileItem,
  1384. flowBase,
  1385. },
  1386. data() {
  1387. const industryValidateLogo = (rule, value, callback) => {
  1388. //debugger
  1389. if (this.fileListIndustry.length <= 0) {
  1390. callback(new Error("请上传项目行研报告"));
  1391. } else {
  1392. callback();
  1393. }
  1394. };
  1395. const technicalValidateLogo = (rule, value, callback) => {
  1396. if (this.fileListTechnical.length <= 0) {
  1397. callback(new Error("请上传项目技术报告"));
  1398. } else {
  1399. callback();
  1400. }
  1401. };
  1402. return {
  1403. meetingId: "0",
  1404. type: "2",
  1405. id: "",
  1406. active: 0,
  1407. detailInfo: {
  1408. projectName: "",
  1409. },
  1410. activeName: "0",
  1411. activeTab: 'apply', // 默认激活“项目立项申请表”
  1412. formType:1,
  1413. // 人员选择器
  1414. checkType: "multiple",
  1415. // 数据回显
  1416. selectValues: null,
  1417. selectNameValues: null,
  1418. formLXApply: {
  1419. id: null,
  1420. procInstId:null,
  1421. projectPoolId: null,
  1422. projectName: null,
  1423. projectOverview: null,
  1424. projectSparkle: null,
  1425. listFile: null,
  1426. participants: null,
  1427. participantsId: null,
  1428. taskDefKey:null,
  1429. needMeeting:'0',
  1430. industryListFile: null,
  1431. technicalListFile:null
  1432. },
  1433. fileListIndustry: [],
  1434. fileListTechnical: [],
  1435. rulesLXApply: {
  1436. industryListFile: [{ required: true, validator: industryValidateLogo }],
  1437. technicalListFile: [{ required: true, validator: technicalValidateLogo }],
  1438. },
  1439. // 会议表单参数-开始
  1440. meetingForm: {
  1441. id: null,
  1442. meetingTheme: null,
  1443. meetingCode: null,
  1444. meetingType: null,
  1445. projectPoolId: null,
  1446. projectName: null,
  1447. projectStage: null,
  1448. projectGroup: "",
  1449. startTime: null,
  1450. endTime: null,
  1451. place: null,
  1452. promoter: null,
  1453. promoterId: null,
  1454. participants: null,
  1455. participantsId: null,
  1456. delFlag: null,
  1457. createBy: null,
  1458. createTime: null,
  1459. updateBy: null,
  1460. updateTime: null,
  1461. listFile:null
  1462. },
  1463. //fileList:[],
  1464. // 表单校验
  1465. meetingRules: {
  1466. meetingTheme: [{ required: true, trigger: "blur", message: "请输入" }],
  1467. meetingType: [{ required: true, trigger: "change", message: "请选择" }],
  1468. // projectGroup: [{ required: true, trigger: "change", message: "请选择" }],
  1469. // projectName: [{ required: true, trigger: "blur", message: "请选择" }],
  1470. startTime: [{ required: true, trigger: "change", message: "请选择" }],
  1471. endTime: [{ required: true, trigger: "blur", message: "请选择" }],
  1472. place: [{ required: true, trigger: "blur", message: "请输入" }],
  1473. promoter: [{ required: true, trigger: "blur", message: "请选择" }],
  1474. participants: [{ required: true, trigger: "blur", message: "请选择" }],
  1475. },
  1476. verifyProjectName: false,
  1477. pageType: null,
  1478. showAllType: false,
  1479. meetingTypeDisabled: false, //会议类别
  1480. meetingTypeList: [
  1481. {
  1482. value: "A",
  1483. label: "管理会议",
  1484. },
  1485. {
  1486. value: "LX",
  1487. label: "项目立项会",
  1488. },
  1489. {
  1490. value: "TJ",
  1491. label: "项目投决会",
  1492. },
  1493. {
  1494. value: "X",
  1495. label: "临时会议",
  1496. },
  1497. ],
  1498. deptId: process.env.VUE_APP_DEPTID,
  1499. openLXApply:false,//立项审批人
  1500. openHYApply:false,//会议参与人 这两个字段是判断是那个字段打开人员选择弹窗
  1501. // 会议表单参数-结束
  1502. //打分
  1503. // 打分表单参数
  1504. scoreForm: {
  1505. businessModel: null,
  1506. businessModelNote: null,
  1507. createBy: null,
  1508. createTime: null,
  1509. delFlag: null,
  1510. developSpace: null,
  1511. developSpaceNote: null,
  1512. examine: null,
  1513. id: null,
  1514. illustrate: null, //说明
  1515. industryAdvantage: null,
  1516. industryAdvantageNote: null,
  1517. investCommissioner: null, //项目负责人
  1518. marketSpace: null, //市场空间
  1519. marketSpaceNote: null,
  1520. meetingId: null, //
  1521. organInvest: null,
  1522. organInvestNote: null,
  1523. organValuation: null,
  1524. organValuationNote: null,
  1525. params: {},
  1526. productBase: null,
  1527. productBaseNote: null,
  1528. productProfit: null,
  1529. productProfitNote: null,
  1530. projectPoolId: null,
  1531. quitWay: null,
  1532. quitWayNote: null,
  1533. remark: null,
  1534. scoringPerson: null, //打分人
  1535. teamBackground: null,
  1536. teamBackgroundNote: null,
  1537. teamExperience: null,
  1538. teamExperienceNote: null,
  1539. teamFaith: null,
  1540. teamFaithNote: null,
  1541. teamHeart: null,
  1542. teamHeartNote: null,
  1543. type: null,
  1544. updateBy: null,
  1545. updateTime: null,
  1546. valuation: null,
  1547. valuationNote: null,
  1548. },
  1549. // 会议详情表单
  1550. form1: {
  1551. meetingTheme: null,
  1552. meetingCode: null,
  1553. meetingType: null,
  1554. projectPoolId: null,
  1555. projectName: null,
  1556. projectStage: null,
  1557. projectGroup: "",
  1558. startTime: null,
  1559. endTime: null,
  1560. place: null,
  1561. promoter: null,
  1562. promoterId: null,
  1563. participants: null,
  1564. participantsId: null,
  1565. tProjectPool: {
  1566. company: null,
  1567. projectName: null,
  1568. projectStage: null,
  1569. },
  1570. },
  1571. // 汇总分数表单
  1572. collectForm: {
  1573. businessModelAvg: null,
  1574. businessModelSum: null,
  1575. developSpaceAvg: null,
  1576. developSpaceSum: null,
  1577. industryAdvantageAvg: null,
  1578. industryAdvantageSum: null,
  1579. investCommissioner: null,
  1580. marketSpaceAvg: null,
  1581. marketSpaceSum: null,
  1582. meetingId: null,
  1583. organInvestAvg: null,
  1584. organInvestSum: null,
  1585. organValuationAvg: null,
  1586. organValuationSum: null,
  1587. productBaseAvg: null,
  1588. productBaseSum: null,
  1589. productProfitAvg: null,
  1590. productProfitSum: null,
  1591. projectPoolId: null,
  1592. quitWayAvg: null,
  1593. quitWaySum: null,
  1594. scoringPerson: null,
  1595. teamBackgroundAvg: null,
  1596. teamBackgroundSum: null,
  1597. teamExperienceAvg: null,
  1598. teamExperienceSum: null,
  1599. teamFaithAvg: null,
  1600. teamFaithSum: null,
  1601. teamHeartAvg: null,
  1602. teamHeartSum: null,
  1603. valuationAvg: null,
  1604. valuationSum: null,
  1605. },
  1606. scoreRules: {
  1607. industryAdvantage: [
  1608. { required: true, trigger: "blur", message: "请打分" },
  1609. ],
  1610. businessModel: [{ required: true, trigger: "blur", message: "请打分" }],
  1611. teamExperience: [
  1612. { required: true, trigger: "blur", message: "请打分" },
  1613. ],
  1614. teamBackground: [
  1615. { required: true, trigger: "blur", message: "请打分" },
  1616. ],
  1617. teamHeart: [{ required: true, trigger: "blur", message: "请打分" }],
  1618. teamFaith: [{ required: true, trigger: "blur", message: "请打分" }],
  1619. productBase: [{ required: true, trigger: "blur", message: "请打分" }],
  1620. productProfit: [{ required: true, trigger: "blur", message: "请打分" }],
  1621. organValuation: [
  1622. { required: true, trigger: "blur", message: "请打分" },
  1623. ],
  1624. organInvest: [{ required: true, trigger: "blur", message: "请打分" }],
  1625. valuation: [{ required: true, trigger: "blur", message: "请打分" }],
  1626. marketSpace: [{ required: true, trigger: "blur", message: "请打分" }],
  1627. developSpace: [{ required: true, trigger: "blur", message: "请打分" }],
  1628. quitWay: [{ required: true, trigger: "blur", message: "请打分" }],
  1629. // illustrate: [{ required: true, trigger: "blur", message: "请输入" }],
  1630. },
  1631. //打分-结束
  1632. flowBaseInfo:{
  1633. comment:null,
  1634. taskId:null
  1635. },
  1636. rulesFlow:{
  1637. comment: [{ required: true, trigger: "blur", message: "请输入" }],
  1638. }
  1639. };
  1640. },
  1641. computed: {
  1642. ...mapGetters(["user"]),
  1643. },
  1644. created() {
  1645. this.id = this.$route.query.id;
  1646. this.flowBaseInfo.taskId=this.$route.query.taskId;
  1647. this.getlistProjectPoolIdNewApproval();
  1648. this.getDetail();
  1649. if (this.$route.query.activeName) {
  1650. this.activeName = this.$route.query.activeName;
  1651. }
  1652. this.openMeetingPage(this.id,'LX');
  1653. },
  1654. methods: {
  1655. handleClick(tab, event) {
  1656. let that = this;
  1657. if (this.activeName === "0") {
  1658. // 项目立项
  1659. //this.getMettingId("LX");
  1660. this.getlistProjectPoolIdNewApproval();
  1661. } else if (this.activeName === "1") {
  1662. // 项目报备
  1663. this.getDetail();
  1664. }
  1665. },
  1666. // 获取立项申请
  1667. getlistProjectPoolIdNewApproval() {
  1668. let that = this;
  1669. getApprovalInfo(this.$route.query.pInstId).then((response) => {
  1670. if (response && response.data) {
  1671. that.formLXApply = response.data;
  1672. // 接口返回值存在(非 undefined/null)则用接口值,否则用 '0'
  1673. that.formLXApply.needMeeting = response.data.needMeeting || '0';
  1674. if(response.data.taskDefKey==='decision'){
  1675. //会议投决节点
  1676. this.getMeeting();
  1677. this.formType=1;
  1678. }else if(response.data.taskDefKey==='president'||response.data.taskDefKey === "file"){
  1679. //总裁室
  1680. this.getMeeting();
  1681. this.getSelectMeetingId();
  1682. this.formType=2;
  1683. }
  1684. setTimeout(() => {
  1685. //立项申请报告
  1686. this.$refs.fileItemLXApply.handleButton();
  1687. this.$refs.fileItemLXApply.fileList = [];
  1688. this.$refs.fileItemLXApply.getListFileBusinessId(that.formLXApply.id,"10");
  1689. //项目行研报告
  1690. if(response.data.taskDefKey==='president') {
  1691. this.$refs.industryFileItem.handleButton();
  1692. this.$refs.technicalFileItem.handleButton();
  1693. }
  1694. this.$refs.industryFileItem.fileList = [];
  1695. this.$refs.industryFileItem.getListFileBusinessId(that.formLXApply.id, "12");
  1696. //项目技术报告
  1697. this.$refs.technicalFileItem.fileList = [];
  1698. this.$refs.technicalFileItem.getListFileBusinessId(that.formLXApply.id, "13");
  1699. //其他附件
  1700. this.$refs.otherFileItem.handleButton();
  1701. this.$refs.otherFileItem.fileList = [];
  1702. this.$refs.otherFileItem.getListFileBusinessId(that.formLXApply.id, "0");
  1703. }, 300);
  1704. }
  1705. });
  1706. },
  1707. //项目报备
  1708. getDetail() {
  1709. getPool(this.id).then((response) => {
  1710. this.detailInfo = response.data;
  1711. // 项目退出完成n
  1712. if (response.data.projectState === "n") {
  1713. this.active = parseInt(response.data.projectStage);
  1714. } else {
  1715. this.active = parseInt(response.data.projectStage) - 1;
  1716. }
  1717. });
  1718. },
  1719. //会议详情
  1720. openMeetingPage(projectId, meetingType) {
  1721. let that = this;
  1722. //this.fileList = [];
  1723. this.showAllType = this.type === "3";
  1724. this.meetingTypeDisabled = false;
  1725. this.selectValues = null;
  1726. this.selectNameValues = null;
  1727. //this.reset();
  1728. this.meetingForm.promoter = this.user.nickName;
  1729. this.meetingForm.promoterId = this.user.userId;
  1730. if (meetingType) {
  1731. this.meetingType = meetingType;
  1732. this.meetingTypeDisabled = true;
  1733. }
  1734. if (projectId && typeof projectId === "string") {
  1735. this.pageType = "1";
  1736. }
  1737. // 直接绑定好项目
  1738. if (this.pageType === "1") {
  1739. let projectItemMessage = this.$store.getters.projectItemMessage;
  1740. this.meetingForm.projectPoolId = projectItemMessage.id;
  1741. this.meetingForm.projectName = projectItemMessage.projectName;
  1742. this.meetingForm.projectStage = projectItemMessage.projectStage;
  1743. this.meetingForm.projectGroup = projectItemMessage.projectGroup;
  1744. this.meetingForm.meetingType = this.meetingType;
  1745. }
  1746. //this.$refs.fileItems.fileList = [];
  1747. //如果已经有会议信息的进行回显
  1748. /*if(this.meetingForm.id!=null) {*/
  1749. getMeetingInfo(this.$route.query.pInstId).then((response) => {
  1750. if(response.data) {
  1751. this.meetingForm = response.data;
  1752. this.meetingForm.projectName = response.data.tProjectPool.projectName;
  1753. this.meetingForm.projectStage = response.data.tProjectPool.projectStage;
  1754. this.meetingForm.projectGroup = response.data.tProjectPool.projectGroup;
  1755. //this.openDetail = true;
  1756. this.selectValues = response.data.participantsId;
  1757. this.selectNameValues = response.data.participants;
  1758. /* setTimeout(() => {
  1759. this.$refs.fileItems.fileList = [];
  1760. this.$refs.fileItems.getListFileBusinessId(response.data.id);
  1761. //this.$refs.fileItems.handleButton();
  1762. }, 300);*/
  1763. }
  1764. });
  1765. /* }*/
  1766. },
  1767. //会议投决
  1768. getMeeting(){
  1769. getMeetingInfo(this.$route.query.pInstId).then((response) => {
  1770. this.form1 = response.data;
  1771. this.form1.projectPoolId = response.data.projectPoolId;
  1772. this.form1.projectName = response.data.tProjectPool.projectName;
  1773. this.form1.projectStage = response.data.tProjectPool.projectStage;
  1774. this.scoreForm.projectPoolId = response.data.projectPoolId;
  1775. this.scoreForm.projectName = response.data.tProjectPool.projectName;
  1776. // 打分人
  1777. this.scoreForm.scoringPerson = this.user.userId;
  1778. // 项目负责人
  1779. this.scoreForm.investCommissioner = response.data.tProjectPool.investHead;
  1780. this.collectForm.investCommissioner =
  1781. response.data.tProjectPool.investHead;
  1782. this.scoreForm.meetingId = response.data.id;
  1783. /*setTimeout(() => {
  1784. this.$refs.fileItems.fileList = [];
  1785. this.$refs.fileItems.getListFileBusinessId();
  1786. this.$refs.fileItems.handleButton();
  1787. }, 300);*/
  1788. });
  1789. },
  1790. //总裁室
  1791. // 根据会议ID查询汇总分数和平均分数
  1792. getSelectMeetingId() {
  1793. getSumScore(this.$route.query.pInstId).then((response) => {
  1794. this.collectForm = response.data;
  1795. this.collectForm.investCommissioner = this.scoreForm.investCommissioner;
  1796. });
  1797. },
  1798. //显示用户信息
  1799. handleSelectPeople(number) {
  1800. // this.userVisible = true;
  1801. if(number===1){
  1802. this.openLXApply=true;
  1803. this.openHYApply=false;
  1804. }else if(number===2){
  1805. this.openLXApply=false;
  1806. this.openHYApply=true;
  1807. }
  1808. this.$refs.flowUser.handleUserVisible(true);
  1809. },
  1810. // 用户选中数据
  1811. handleUserSelect(selection) {
  1812. const that = this;
  1813. if (selection && selection[0]) {
  1814. let form;
  1815. if(this.openLXApply) {
  1816. form = this.formLXApply;
  1817. } else if (this.openHYApply) {
  1818. form = this.meetingForm;
  1819. }
  1820. if (selection instanceof Array) {
  1821. const userIds = selection.map((item) => item.userId);
  1822. const nickName = selection.map((item) => item.nickName);
  1823. form.participants = nickName.join(",");
  1824. form.participantsId = userIds.join(",");
  1825. this.selectNameValues = nickName.join(",");
  1826. this.selectValues = userIds.join(",");
  1827. } else {
  1828. form.participants = selection.nickName;
  1829. form.participantsId = selection.userId;
  1830. this.selectNameValues = selection.nickName;
  1831. this.selectValues = selection.userId;
  1832. }
  1833. // this.$refs.meetingForm.clearValidate(["participants"]);
  1834. // this.$refs.formLXApply.clearValidate(["participants"]);
  1835. }
  1836. },
  1837. // 获取公司信息
  1838. getProjectInfo(info) {
  1839. if (info.length > 0) {
  1840. //console.log("info=", info);
  1841. this.form.projectPoolId = info[0].id;
  1842. this.form.projectName = info[0].projectName;
  1843. this.form.projectStage = info[0].projectStage;
  1844. this.form.projectState = info[0].projectState;
  1845. if (info[0].tProjectChannel && info[0].tProjectChannel.channelGroup) {
  1846. this.form.projectGroup = info[0].tProjectChannel.channelGroup;
  1847. } else {
  1848. this.form.projectGroup = "";
  1849. }
  1850. this.$refs.form.clearValidate(["projectName"]);
  1851. }
  1852. },
  1853. //展示人员
  1854. handleProjectItem() {
  1855. this.$refs.projectItem.showProjectItem = true;
  1856. },
  1857. getDeptUserInfo(info) {
  1858. if (info.length > 0) {
  1859. this.meetingForm.promoter = info[0].nickName;
  1860. this.meetingForm.promoterId = info[0].userId.toString();
  1861. this.$refs.meetingForm.clearValidate(["promoter"]);
  1862. }
  1863. },
  1864. // flag 区分同意(true)和驳回(false)
  1865. // isTerminate , 区分是否:终止(1)和观望(0)
  1866. /** 加载审批任务弹框 */
  1867. handleComplete(flag,isTerminate) {
  1868. this.taskComplete(flag,isTerminate);
  1869. },
  1870. /** 用户审批任务 */
  1871. taskComplete(flag,isTerminate) {
  1872. let allValid = true;
  1873. if(this.formLXApply.taskDefKey==="meeting") {//发起会议节点
  1874. this.formLXApply.listFile = this.fileListLXApply;
  1875. this.meetingForm.listFile = this.fileList;
  1876. /*if (!this.formLXApply.participants) {
  1877. this.$modal.msgError("请选择立项审批人!");
  1878. return;
  1879. }
  1880. if (this.formLXApply.needMeeting==='1') {
  1881. this.$refs["meetingForm"].validate((valid) => {
  1882. if (!valid) {
  1883. allValid = false;
  1884. return;
  1885. }
  1886. })
  1887. }*/
  1888. }else if(this.formLXApply.taskDefKey==="decision"){//会议投决
  1889. /*this.$refs["scoreForm"].validate((valid) => {
  1890. if (!valid) {
  1891. allValid = false;
  1892. // 4. 评审表校验失败:切换标签 + 提示
  1893. this.activeTab = 'review'; // 切换到评审表标签
  1894. this.$message.error('项目立项评估评审表未填写完整,请检查!');
  1895. return;
  1896. }
  1897. })*/
  1898. }else if(this.formLXApply.taskDefKey==="industryResearch"){//项目行研
  1899. this.formLXApply.listFile = this.fileListIndustry;
  1900. this.$refs["formLXApply"].validate((valid) => {
  1901. if (!valid) {
  1902. allValid = false;
  1903. return;
  1904. }
  1905. })
  1906. }else if(this.formLXApply.taskDefKey==="technicalResearch"){//项目技术
  1907. this.formLXApply.listFile = this.fileListTechnical;
  1908. this.$refs["formLXApply"].validate((valid) => {
  1909. if (!valid) {
  1910. allValid = false;
  1911. return;
  1912. }
  1913. })
  1914. }
  1915. if (!flag&&!this.flowBaseInfo.comment) {
  1916. this.$modal.msgError("请输入审批意见!");
  1917. return;
  1918. }
  1919. //会议人
  1920. this.formLXApply.flag=flag;
  1921. this.formLXApply.isTerminate=isTerminate;
  1922. const params={
  1923. projectApproval: this.formLXApply, // 拆分明确字段
  1924. projectMeeting: this.meetingForm,
  1925. projectScoring: this.scoreForm,
  1926. flowBaseInfo: this.flowBaseInfo
  1927. }
  1928. if(allValid) {
  1929. try{
  1930. approvalComplete(params).then(response => {
  1931. this.$modal.msgSuccess(response.msg);
  1932. this.$store.dispatch("getMyTaskApprovalNumber"); //更新代办数量
  1933. this.goMyTask();
  1934. });
  1935. } catch (err) {
  1936. // 捕获重复提交错误
  1937. this.$message.error(err.message);
  1938. }
  1939. }
  1940. },
  1941. /*返回*/
  1942. goBack() {
  1943. this.$router.go(-1);
  1944. },
  1945. //跳转到我的任务
  1946. goMyTask(){
  1947. //this.$router.push({ path: "/myTask/project/approval/myTask"});
  1948. // 关闭当前标签页并返回指定页面
  1949. const obj = { path: "/myTask/project/approval/myTask", query: { t: Date.now()} };
  1950. this.$tab.closeOpenPage(obj);
  1951. },
  1952. // 立项申请附件回显
  1953. getFileListLXApply(fileList) {
  1954. this.fileListLXApply = fileList;
  1955. if (fileList && fileList.length > 0) {
  1956. this.$refs.formLXApply.clearValidate(["listFile"]);
  1957. } else {
  1958. this.fileListLXApply = [];
  1959. }
  1960. },
  1961. // 会议申请附件回显
  1962. getFileList(fileList) {
  1963. if (fileList && fileList.length > 0) {
  1964. this.fileList = fileList;
  1965. } else {
  1966. this.fileList = [];
  1967. }
  1968. },
  1969. //
  1970. getIndustryFileList(fileList) {
  1971. if (fileList && fileList.length > 0) {
  1972. this.fileListIndustry = fileList;
  1973. this.$refs.formLXApply.clearValidate(["industryListFile"]);
  1974. } else {
  1975. this.fileListIndustry = [];
  1976. }
  1977. },
  1978. getTechnicalFileList(fileList) {
  1979. if (fileList && fileList.length > 0) {
  1980. this.fileListTechnical = fileList;
  1981. this.$refs.formLXApply.clearValidate(["technicalListFile"]);
  1982. } else {
  1983. this.fileListTechnical = [];
  1984. }
  1985. },
  1986. },
  1987. };
  1988. </script>
  1989. <style lang="scss" scoped>
  1990. .detailWrapper {
  1991. padding: 20px 0;
  1992. width: 92%;
  1993. margin: 0 auto;
  1994. .section1 {
  1995. p {
  1996. font-size: 24px;
  1997. font-weight: bold;
  1998. margin: 0;
  1999. }
  2000. > div:first-child {
  2001. // width: calc(100% - 700px);
  2002. width: 100%;
  2003. }
  2004. .btnList {
  2005. width: 700px;
  2006. display: flex;
  2007. justify-content: flex-end;
  2008. }
  2009. }
  2010. .basicsInfo {
  2011. font-size: 14px;
  2012. background: #f1f1f1;
  2013. margin-top: -24px;
  2014. width: 100%;
  2015. padding: 30px 20px 10px;
  2016. div {
  2017. color: #7e7d7d;
  2018. }
  2019. p {
  2020. font-size: 16px;
  2021. color: #333;
  2022. font-weight: bold;
  2023. }
  2024. }
  2025. .section3 {
  2026. margin-top: 40px;
  2027. }
  2028. .btnList {
  2029. display: flex;
  2030. justify-content: flex-end;
  2031. /* 让内部元素(按钮)整体靠右 */
  2032. gap: 10px; /* 替代 margin,给按钮之间加间距,可选 */
  2033. }
  2034. }
  2035. .projectNameTit {
  2036. }
  2037. .alreadyStop {
  2038. font-weight: normal;
  2039. font-size: 12px;
  2040. background: #ff0000;
  2041. color: #fff;
  2042. border-radius: 5px;
  2043. padding: 5px 10px;
  2044. margin-left: 10px;
  2045. }
  2046. /*表格样式开始*/
  2047. .ss_scoreTable {
  2048. padding-bottom: 50px;
  2049. ::v-deep .el-input.is-disabled .el-input__inner {
  2050. background-color: #fff !important;
  2051. color: #606266;
  2052. }
  2053. ::v-deep .el-input__inner {
  2054. border: 1px solid transparent;
  2055. text-align: center;
  2056. }
  2057. ::v-deep.el-textarea__inner {
  2058. border: none;
  2059. height: 50px;
  2060. resize: none;
  2061. }
  2062. ::v-deep .el-textarea.is-disabled .el-textarea__inner {
  2063. background-color: #fff !important;
  2064. }
  2065. textarea:disabled,
  2066. input:disabled {
  2067. background-color: #fff !important;
  2068. }
  2069. // ::v-deep .el-textarea__inner {
  2070. // // border: 1px solid transparent!important;
  2071. // }
  2072. table {
  2073. // width:80%;
  2074. // width: 600px;
  2075. margin: 0 30px;
  2076. -moz-user-select: none;
  2077. -webkit-user-select: none;
  2078. -ms-user-select: none;
  2079. -khtml-user-selece: none;
  2080. /*上面都是兼容性问题,具体看浏览器版本或什么浏览器*/
  2081. user-select: none; /*内容禁止选中*/
  2082. }
  2083. tbody td {
  2084. font-size: 14px;
  2085. }
  2086. thead th,
  2087. .big-font {
  2088. font-size: 16px !important;
  2089. font-weight: bold;
  2090. }
  2091. .public-pedded-0 {
  2092. padding: 0;
  2093. }
  2094. .text-center {
  2095. text-align: center;
  2096. }
  2097. .text-left {
  2098. text-align: left;
  2099. }
  2100. .table-textarea {
  2101. width: 100%;
  2102. // width: 180px;
  2103. border: none;
  2104. height: 50px;
  2105. resize: none;
  2106. }
  2107. .table-input {
  2108. width: 100%;
  2109. // width: 100%;
  2110. // height: 80px;
  2111. border: none;
  2112. font-size: 20px;
  2113. font-weight: bold;
  2114. text-align: center;
  2115. margin-top: 20px;
  2116. }
  2117. .bg-blue,
  2118. .specificTr > th:nth-child(2n-1) {
  2119. background-color: #9bc2e6;
  2120. }
  2121. .specificTr > th:nth-child(2n-1) {
  2122. white-space: nowrap;
  2123. padding: 0 15px;
  2124. }
  2125. .specificTr .table-textarea {
  2126. padding-top: 16px;
  2127. background-color: #fff;
  2128. }
  2129. tr > th {
  2130. height: 50px;
  2131. }
  2132. input:disabled {
  2133. // background-color: #fff !important;
  2134. }
  2135. .btnList {
  2136. width: 100%;
  2137. display: flex;
  2138. justify-content: center;
  2139. padding-bottom: 40px;
  2140. margin-top: 30px;
  2141. }
  2142. }
  2143. </style>