studentProjectWord.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860
  1. <template>
  2. <div id="studentProjectWord">
  3. <div id="title">
  4. <div class="school">深圳技师学院</div>
  5. <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
  6. <div class="date">申请日期:{{wordData.applicationDate}}</div>
  7. </div>
  8. <table border="1" cellspacing="0" class="table">
  9. <tr id="projectName">
  10. <td colspan="2" ref="projectName">项目名称</td><td colspan="5" >
  11. <el-input
  12. type="textarea"
  13. autosize
  14. style="width: 100%;"
  15. resize="none"
  16. placeholder="请输入项目名称"
  17. v-model="wordData.projectName">
  18. </el-input>
  19. </td>
  20. </tr>
  21. <tr id="radio">
  22. <td rowspan="2" colspan="2" ref="radio">项目分组</td><td>
  23. <el-radio v-model="wordData.radio" label="ed917c55-f51d-11ed-a3f6-509a4c5b67cf">创意组</el-radio>
  24. </td>
  25. <td colspan="4">立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益。</td>
  26. </tr>
  27. <tr>
  28. <td>
  29. <el-radio v-model="wordData.radio" label="f3068e26-f51d-11ed-a3f6-509a4c5b67cf">初创组</el-radio>
  30. </td>
  31. <td colspan="4">立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。</td>
  32. </tr>
  33. <tr id="checkList">
  34. <td colspan="2" ref="checkList">优先支持项目(可多选)</td> <td colspan="5">
  35. <el-checkbox-group v-model="wordData.checkList">
  36. <el-checkbox label="1">大赛选拔项目</el-checkbox>
  37. <el-checkbox label="2">大赛选拔项目</el-checkbox>
  38. <el-checkbox label="3">社会征集项目</el-checkbox>
  39. <el-checkbox label="4">产业命题项目</el-checkbox>
  40. </el-checkbox-group>
  41. </td>
  42. </tr>
  43. <tr id="schoolRadio">
  44. <td colspan="2" ref="schoolRadio">美丽校园改造项目(特色项目)</td> <td colspan="5">
  45. <el-radio v-model="wordData.schoolRadio" label="1">校园安全项目</el-radio>
  46. <el-radio v-model="wordData.schoolRadio" label="2">环境治理项目</el-radio>
  47. <el-radio v-model="wordData.schoolRadio" label="3">校园服务项目</el-radio>
  48. <el-radio v-model="wordData.schoolRadio" label="4">文创装置项目</el-radio>
  49. </td>
  50. </tr>
  51. <tr id="applyParsonRadio">
  52. <td colspan="2" ref="applyParsonRadio" >项 目 申 请 人</td><td colspan="2">
  53. <el-radio v-model="wordData.applyParsonRadio" label="1">在校学生</el-radio>
  54. </td><td colspan="3">
  55. <el-radio v-model="wordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio>
  56. </td>
  57. </tr>
  58. <tr id="applyParsonName">
  59. <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1">
  60. <el-input
  61. type="textarea"
  62. autosize
  63. style="width: 100%;"
  64. resize="none"
  65. placeholder="请输入姓名"
  66. v-model="wordData.applyParsonName">
  67. </el-input>
  68. </td>
  69. <td ref="college">参与学院/公司</td>
  70. <td>
  71. <el-select v-model="wordData.college" style="width: 100%;" placeholder="请选择所在学院">
  72. <el-option
  73. v-for="item in DepartmentData"
  74. :key="item.id"
  75. :label="item.name"
  76. :value="item.id">
  77. </el-option>
  78. </el-select>
  79. </td><td ref="tel">联系电话</td><td>
  80. <el-input type="number" v-model="wordData.tel" @blur="getText(wordData.tel)" placeholder="请输入联系方式"></el-input>
  81. </td>
  82. </tr>
  83. <tr id="beginTime">
  84. <td colspan="2" ref="beginTime">项 目 起 始 时 间</td>
  85. <td colspan="2">
  86. <el-date-picker
  87. v-model="wordData.beginTime"
  88. type="date"
  89. placeholder="请选择项目计划完成时间"
  90. prefix-icon="none"
  91. value-format="yyyy-MM-dd">
  92. <!-- value-format="yyyy-MM-dd HH:mm:ss"> -->
  93. </el-date-picker></td>
  94. <td ref="endTime">计划完成时间</td>
  95. <td colspan="2">
  96. <el-date-picker
  97. v-model="wordData.endTime"
  98. type="date"
  99. placeholder="请选择项目计划完成时间"
  100. prefix-icon="none"
  101. value-format="yyyy-MM-dd">
  102. <!-- value-format="yyyy-MM-dd HH:mm:ss"> -->
  103. </el-date-picker>
  104. </td>
  105. </tr>
  106. <tr>
  107. <td colspan="2">项 目 组 人 数</td>
  108. <td>
  109. {{ wordData.studentS.length + wordData.teacherS.length }}
  110. </td>
  111. <td>参与学生人数</td>
  112. <td>
  113. {{ wordData.studentS.length }}
  114. </td>
  115. <td>参与教师人数</td>
  116. <td>
  117. {{ wordData.teacherS.length }}
  118. </td>
  119. </tr>
  120. <tr id="studentS">
  121. <td :rowspan="wordData.studentS.length+1" ref="studentS">项目组学生成员(至少2个学院以上学生构成,团队5人以上)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
  122. </tr>
  123. <tr style="position: relative;" v-for="(item,index) in wordData.studentS" :key="index+'a'">
  124. <td>
  125. <el-input
  126. type="textarea"
  127. autosize
  128. style="width: 100%;"
  129. resize="none"
  130. placeholder="请输入姓名"
  131. v-model="item.name">
  132. </el-input>
  133. </td>
  134. <td colspan="2">
  135. <el-input
  136. type="textarea"
  137. autosize
  138. style="width: 100%;"
  139. resize="none"
  140. placeholder="请输入所在学院/部门/专业"
  141. v-model="item.collage">
  142. </el-input>
  143. </td>
  144. <td colspan="3">
  145. <el-input
  146. type="textarea"
  147. autosize
  148. style="width: 100%;"
  149. resize="none"
  150. placeholder="请输入项目组角色分工"
  151. v-model="item.work">
  152. </el-input>
  153. </td>
  154. <div class="operate">
  155. <el-button @click="addStudent" v-if="wordData.studentS.length==index+1" type="primary" size="mini">添加</el-button>
  156. <el-button v-if="wordData.studentS.length>6" @click="DelStudent(index)" type="primary" size="mini">删除</el-button>
  157. </div>
  158. </tr>
  159. <tr id="teacherS">
  160. <td :rowspan="wordData.teacherS.length+1" ref="teacherS">项目组指导教师(2个学院以上,团队2-3人)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
  161. </tr>
  162. <tr style="position: relative !important;" v-for="(item,index) in wordData.teacherS" :key="index+'b'">
  163. <td>
  164. <el-input
  165. type="textarea"
  166. autosize
  167. style="width: 100%;"
  168. resize="none"
  169. placeholder="请输入姓名"
  170. v-model="item.name">
  171. </el-input>
  172. </td>
  173. <td colspan="2">
  174. <el-input
  175. type="textarea"
  176. autosize
  177. style="width: 100%;"
  178. resize="none"
  179. placeholder="请输入所在学院/部门/专业"
  180. v-model="item.collage">
  181. </el-input>
  182. </td>
  183. <td colspan="3">
  184. <el-input
  185. type="textarea"
  186. autosize
  187. style="width: 100%;"
  188. resize="none"
  189. placeholder="请输入项目组角色分工"
  190. v-model="item.work">
  191. </el-input>
  192. </td>
  193. <div class="operate">
  194. <el-button @click="addTeacher" v-if="wordData.teacherS.length==index+1" type="primary" size="mini">添加</el-button>
  195. <el-button v-if="wordData.teacherS.length!=2" @click="DelTeacher(index)" type="primary" size="mini">删除</el-button>
  196. </div>
  197. <!-- <div style="position: absolute;">
  198. <div>+</div>
  199. <div>_</div>
  200. </div> -->
  201. </tr>
  202. <tr id="brief">
  203. <td rowspan="5" ref="brief">研发内容</td><td style="text-align: left;position: relative;" colspan="6" class="textLeft">
  204. <p>项目简介(200-300字)</p>
  205. <el-input
  206. type="textarea"
  207. :rows="6"
  208. resize="none"
  209. placeholder="请输入项目简介"
  210. style="width: 100%;"
  211. v-model="wordData.brief">
  212. </el-input>
  213. <div style="color: #ccc;position: absolute;right: 60px;bottom: 10px;">{{ wordData.brief.length }}/300</div>
  214. </td>
  215. </tr>
  216. <tr>
  217. <td style="text-align: left;" colspan="6" class="textLeft">
  218. <p>项目研发背景</p>
  219. <el-input
  220. type="textarea"
  221. :autosize="{ minRows: 6, maxRows: 20}"
  222. style="width: 100%;"
  223. resize="none"
  224. v-model="wordData.introduce.back">
  225. </el-input>
  226. </td>
  227. </tr>
  228. <tr>
  229. <td style="text-align: left;" colspan="6" class="textLeft">
  230. <p>项目创新点</p>
  231. <el-input
  232. type="textarea"
  233. :autosize="{ minRows: 6, maxRows: 20}"
  234. style="width: 100%;"
  235. resize="none"
  236. v-model="wordData.introduce.innovate">
  237. </el-input>
  238. </td>
  239. </tr>
  240. <tr>
  241. <td style="text-align: left;" colspan="6" class="textLeft">
  242. <p>技术研发路线</p>
  243. <el-input
  244. type="textarea"
  245. :autosize="{ minRows: 6, maxRows: 20}"
  246. style="width: 100%;"
  247. resize="none"
  248. v-model="wordData.introduce.path">
  249. </el-input>
  250. </td>
  251. </tr>
  252. <tr>
  253. <td style="text-align: left;" colspan="6" class="textLeft">
  254. <p>项目应用场景 </p>
  255. <el-input
  256. type="textarea"
  257. :autosize="{ minRows: 6, maxRows: 20}"
  258. style="width: 100%;"
  259. resize="none"
  260. v-model="wordData.introduce.scene">
  261. </el-input>
  262. </td>
  263. </tr>
  264. <tr>
  265. <td>商业模式及社会价值</td>
  266. <td style="text-align: left;" colspan="6" class="textLeft">
  267. <p>项目商业模式/社会价值</p>
  268. <el-input
  269. type="textarea"
  270. :autosize="{ minRows: 6, maxRows: 20}"
  271. style="width: 100%;"
  272. resize="none"
  273. v-model="wordData.introduce.worth">
  274. </el-input>
  275. </td>
  276. </tr>
  277. <tr>
  278. <td>团队优势</td>
  279. <td style="text-align: left;" colspan="6" class="textLeft">
  280. <p>团队构成及优势</p>
  281. <el-input
  282. type="textarea"
  283. :autosize="{ minRows: 6, maxRows: 20}"
  284. style="width: 100%;"
  285. resize="none"
  286. v-model="wordData.introduce.team">
  287. </el-input>
  288. </td>
  289. </tr>
  290. <tr>
  291. <td>研发成本</td>
  292. <td style="text-align: left;" colspan="6" class="textLeft">
  293. <p>研发成本来源及构成</p>
  294. <el-input
  295. type="textarea"
  296. :autosize="{ minRows: 6, maxRows: 20}"
  297. style="width: 100%;"
  298. resize="none"
  299. v-model="wordData.introduce.cost">
  300. </el-input>
  301. </td>
  302. </tr>
  303. <tr>
  304. <td rowspan="3">预期成果</td>
  305. <td style="text-align: left;" colspan="6" class="textLeft">
  306. <p>项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
  307. <el-input
  308. type="textarea"
  309. :autosize="{ minRows: 6, maxRows: 20}"
  310. style="width: 100%;"
  311. resize="none"
  312. v-model="wordData.introduce.expectResults">
  313. </el-input>
  314. </td>
  315. </tr>
  316. <tr class="textLeft">
  317. <td style="text-align: left;" colspan="6">
  318. <p>学生创客人才培养预期成果、数量(教师填写)</p>
  319. <el-input
  320. type="textarea"
  321. :autosize="{ minRows: 6, maxRows: 20}"
  322. style="width: 100%;"
  323. resize="none"
  324. v-model="wordData.introduce.expectResultsTeacher">
  325. </el-input>
  326. </td>
  327. </tr>
  328. <tr class="textLeft">
  329. <td style="text-align: left;" colspan="6">
  330. <p>项目预期孵化、转化创业项目情况</p>
  331. <el-input
  332. type="textarea"
  333. :autosize="{ minRows: 6, maxRows: 20}"
  334. style="width: 100%;"
  335. resize="none"
  336. v-model="wordData.introduce.expectConversion">
  337. </el-input>
  338. </td>
  339. </tr>
  340. <tr>
  341. <td>实施计划</td>
  342. <td style="text-align: left;" colspan="6" class="textLeft">
  343. <el-input
  344. type="textarea"
  345. :autosize="{ minRows: 6, maxRows: 20}"
  346. style="width: 100%;"
  347. resize="none"
  348. v-model="wordData.introduce.plan">
  349. </el-input>
  350. </td>
  351. </tr>
  352. <tr id="fund">
  353. <td rowspan="12" ref="fund">预算经费</td><td>总经费</td><td colspan="5">
  354. {{ reversedMessage==0?'':reversedMessage}}元
  355. </td>
  356. </tr>
  357. <tr>
  358. <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
  359. </tr>
  360. <tr>
  361. <td rowspan="5">直接费用</td>
  362. </tr>
  363. <tr>
  364. <td colspan="2">小型仪器设备费</td>
  365. <td>
  366. <el-input
  367. type="number"
  368. autosize
  369. style="width: 100%;"
  370. resize="none"
  371. placeholder="小型仪器设备费"
  372. v-model="wordData.fund.facility">
  373. </el-input>
  374. </td><td colspan="2">
  375. 项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
  376. </td>
  377. </tr>
  378. <tr>
  379. <td colspan="2">材料费</td><td>
  380. <el-input
  381. type="number"
  382. autosize
  383. style="width: 100%;"
  384. resize="none"
  385. placeholder="材料费"
  386. v-model="wordData.fund.materials">
  387. </el-input>
  388. </td><td colspan="2">
  389. 项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
  390. </td>
  391. </tr>
  392. <tr>
  393. <td colspan="2">测试化验加工费</td><td>
  394. <el-input
  395. type="number"
  396. autosize
  397. style="width: 100%;"
  398. resize="none"
  399. placeholder="测试化验加工费"
  400. v-model="wordData.fund.process">
  401. </el-input>
  402. </td><td colspan="2">
  403. 项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
  404. </td>
  405. </tr>
  406. <tr>
  407. <td colspan="2">项目协作费</td><td>
  408. <el-input
  409. type="number"
  410. autosize
  411. style="width: 100%;"
  412. resize="none"
  413. placeholder="项目协作费"
  414. v-model="wordData.fund.assist">
  415. </el-input>
  416. </td><td colspan="2">
  417. 按合同规定支付给协作单位的费用
  418. </td>
  419. </tr>
  420. <tr>
  421. <td rowspan="5">间接费用</td>
  422. </tr>
  423. <tr>
  424. <td colspan="2">项目成果鉴定费</td><td>
  425. <el-input
  426. type="number"
  427. autosize
  428. style="width: 100%;"
  429. resize="none"
  430. placeholder="项目成果鉴定费"
  431. v-model="wordData.fund.authenticate">
  432. </el-input>
  433. </td><td colspan="2">
  434. 学术会务费、评审费、鉴定费、成果集制作费等费用。
  435. </td>
  436. </tr>
  437. <tr>
  438. <td colspan="2">参展参赛费</td><td>
  439. <el-input
  440. type="number"
  441. autosize
  442. style="width: 100%;"
  443. resize="none"
  444. placeholder="参展参赛费"
  445. v-model="wordData.fund.match">
  446. </el-input>
  447. </td><td colspan="2">
  448. 参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
  449. </td>
  450. </tr>
  451. <tr>
  452. <td colspan="2">创客交流活动费</td><td>
  453. <el-input
  454. type="number"
  455. autosize
  456. style="width: 100%;"
  457. resize="none"
  458. placeholder="创客交流活动费"
  459. v-model="wordData.fund.activity">
  460. </el-input>
  461. </td><td colspan="2">
  462. 创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
  463. </td>
  464. </tr>
  465. <tr>
  466. <td colspan="2">知识产权事务费</td><td>
  467. <el-input
  468. type="number"
  469. autosize
  470. style="width: 100%;"
  471. resize="none"
  472. placeholder="知识产权事务费"
  473. v-model="wordData.fund.affair">
  474. </el-input>
  475. </td><td colspan="2">
  476. 论文版面费、专利及其他知识产权事务等费用。
  477. </td>
  478. </tr>
  479. <tr>
  480. <td>所在学院/部门意见</td><td colspan="6" class="textLeft">
  481. <el-input
  482. type="textarea"
  483. :rows="7"
  484. resize="none"
  485. disabled
  486. style="width: 100%;"
  487. v-model="input">
  488. </el-input>
  489. <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
  490. <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
  491. </td>
  492. </tr>
  493. <tr>
  494. <td>财务部门意见</td><td colspan="6" class="textLeft">
  495. <el-input
  496. type="textarea"
  497. :rows="7"
  498. resize="none"
  499. disabled
  500. style="width: 100%;"
  501. v-model="input">
  502. </el-input>
  503. <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
  504. <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
  505. </td>
  506. </tr>
  507. <tr>
  508. <td>创新创业学院审核意见</td><td colspan="6" class="textLeft">
  509. <el-input
  510. type="textarea"
  511. :rows="7"
  512. style="background-color: #fff;width: 100%;"
  513. resize="none"
  514. disabled
  515. v-model="input">
  516. </el-input>
  517. <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
  518. <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
  519. </td>
  520. </tr>
  521. </table>
  522. <div class="notes">
  523. <span>备注:</span>
  524. <span>1.表格可顺延或另附页。</span>
  525. <span>2.优先支持项目需提供与研发项目相关的实证材料并查看原件。</span>
  526. <span>3.初创组已结题项目申请需提供结题验收证明、初创企业申请需提供入驻学校孵化基地协议书及公司营业执照。</span>
  527. </div>
  528. </div>
  529. </template>
  530. <script>
  531. import {getNowDate} from '@/components/tool/Date.js'
  532. // import { getWord } from './tool/getWord';
  533. export default {
  534. props:['wordData'],
  535. data() {
  536. return {
  537. allFund:'',
  538. input:"",
  539. DepartmentData:[],
  540. //total:总经费
  541. //小型仪器设备费:device deviceRemarks
  542. //材料费:Material MaterialRemarks
  543. //测试化验加工费:processing processingRemarks
  544. //项目协作费:Collaboration CollaborationRemarks
  545. //项目成果鉴定费:APPRAISAL APPRAISALRemarks
  546. //参展参赛费:entery enteryRemarks
  547. //创客交流活动费:activities activitiesRemarks
  548. //知识产权事务费:Transaction TransactionRemarks
  549. }
  550. },
  551. methods: {
  552. getText(value) { //电话验证
  553. let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
  554. let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
  555. if(!result) return this.$message.error('请输入正确联系号码格式')
  556. },
  557. addTeacher(){ //添加老师
  558. if (this.wordData.teacherS.length>=3) return this.$message.error('指导老师最多三人')
  559. this.wordData.teacherS.push({name:"",collage:"",work:""});
  560. },
  561. DelTeacher(index){ //删除老师
  562. this.wordData.teacherS.splice(index,1)
  563. },
  564. addStudent(){ //添加学生
  565. this.wordData.studentS.push({name:"",collage:"",work:""});
  566. },
  567. DelStudent(index){ //删除学生
  568. this.wordData.studentS.splice(index,1)
  569. },
  570. getProjectDepartmentData(){ //获取项目立项申请基础信息页面所在部门数据
  571. this.ajax.get(this.$store.state.api+'/SelectAllDepartment',{
  572. uid:this.$store.state.userInfo.userid
  573. }).then(res=>{
  574. this.DepartmentData = res.data[0]
  575. },err=>{
  576. console.log(err);
  577. })
  578. },
  579. // submitWord(){
  580. // const cEmpty = /^\s*$/g;
  581. // for (let i in this.wordData){
  582. // // console.log(this.wordData[i],i);
  583. // switch(i){
  584. // case 'projectName':
  585. // if (cEmpty.test(this.wordData[i])) {
  586. // this.$message.error('请输入项目名称')
  587. // // this.$refs.projectName.style.background='rgb(236, 141, 141)'
  588. // // setTimeout(() => {
  589. // // this.$refs.projectName.style.background='#ffffff'
  590. // // }, 2000);
  591. // document.querySelector('#projectName').scrollIntoView({ behavior: "smooth" });
  592. // return false
  593. // }
  594. // break;
  595. // case 'radio':
  596. // if (cEmpty.test(this.wordData[i])) {
  597. // this.$message.error('请选择项目分组')
  598. // document.querySelector('#radio').scrollIntoView({ behavior: "smooth" });
  599. // return false
  600. // }
  601. // break;
  602. // case 'checkList':
  603. // if (this.wordData[i].length==0) {
  604. // this.$message.error('优先支持项目')
  605. // document.querySelector('#checkList').scrollIntoView({ behavior: "smooth" });
  606. // return false
  607. // }
  608. // break;
  609. // case 'schoolRadio':
  610. // if (cEmpty.test(this.wordData[i])) {
  611. // this.$message.error('请选择美丽校园改造项目')
  612. // document.querySelector('#schoolRadio').scrollIntoView({ behavior: "smooth" });
  613. // return false
  614. // }
  615. // break;
  616. // case 'applyParsonRadio':
  617. // if (cEmpty.test(this.wordData[i])) {
  618. // this.$message.error('请选择项目申请人')
  619. // document.querySelector('#applyParsonRadio').scrollIntoView({ behavior: "smooth" });
  620. // return false
  621. // }
  622. // break;
  623. // case 'applyParsonName':
  624. // if (cEmpty.test(this.wordData[i])) {
  625. // this.$message.error('请填写申请人姓名')
  626. // document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
  627. // return false
  628. // }
  629. // break;
  630. // case 'college':
  631. // if (cEmpty.test(this.wordData[i])) {
  632. // this.$message.error('请选择所在学院')
  633. // document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
  634. // return false
  635. // }
  636. // break;
  637. // case 'tel':
  638. // if (cEmpty.test(this.wordData[i])) {
  639. // this.$message.error('请填写联系方式')
  640. // document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
  641. // return false
  642. // }
  643. // break;
  644. // case 'beginTime':
  645. // if (cEmpty.test(this.wordData[i])) {
  646. // this.$message.error('请选择项目起始时间')
  647. // document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
  648. // return false
  649. // }
  650. // break;
  651. // case 'endTime':
  652. // if (cEmpty.test(this.wordData[i])) {
  653. // this.$message.error('请选择计划完成时间')
  654. // document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
  655. // return false
  656. // }
  657. // break;
  658. // case 'studentS':
  659. // // if(this.wordData[i].length<5){
  660. // // this.$message.error('学生团队应5人以上')
  661. // // document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
  662. // // return false;
  663. // // }else{
  664. // let snum = 0;
  665. // this.wordData[i].forEach(item=>{
  666. // for(let j in item){
  667. // if(cEmpty.test(item[j])){
  668. // snum++;
  669. // }
  670. // }
  671. // })
  672. // if(snum>0){
  673. // this.$message.error("请填完学生信息");
  674. // document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
  675. // return false;
  676. // }
  677. // // }
  678. // break;
  679. // case 'teacherS':
  680. // let num = 0;
  681. // this.wordData[i].forEach(item=>{
  682. // for(let j in item){
  683. // if(cEmpty.test(item[j])){
  684. // num++;
  685. // }
  686. // }
  687. // })
  688. // if(num>0){
  689. // this.$message.error("请填完老师信息");
  690. // document.querySelector('#teacherS').scrollIntoView({ behavior: "smooth" });
  691. // return false;
  692. // }
  693. // break;
  694. // case 'brief':
  695. // if (cEmpty.test(this.wordData[i])) {
  696. // this.$message.error('请填写项目简介')
  697. // // this.$refs.brief.style.background='rgb(236, 141, 141)'
  698. // // setTimeout(() => {
  699. // // this.$refs.brief.style.background='#ffffff'
  700. // // }, 2000);
  701. // document.querySelector('#brief').scrollIntoView({ behavior: "smooth" });
  702. // return false
  703. // }
  704. // break;
  705. // case 'fund':
  706. // let mon=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
  707. // if(mon==0){
  708. // document.querySelector('#fund').scrollIntoView({ behavior: "smooth" });
  709. // return this.$message.error('请输入经费')
  710. // }
  711. // break;
  712. // }
  713. // }
  714. // this.wordData['total']=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
  715. // getWord(this.wordData)
  716. // // let param={
  717. // // projectName
  718. // // }
  719. // // this.ajax
  720. // // .post(this.$store.state.api+'/SelectAllType',param)
  721. // // .then(err,res)
  722. // },
  723. },
  724. computed:{ //经费总合
  725. reversedMessage: function () {
  726. return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)
  727. }
  728. },
  729. mounted(){
  730. this.getProjectDepartmentData()
  731. }
  732. };
  733. </script>
  734. <style lang="less" scoped>
  735. #studentProjectWord{
  736. width: 100%;
  737. display: flex;
  738. flex-direction: column;
  739. align-items: center;
  740. background-color: #ffff;
  741. margin: 0;
  742. padding:40px 100px;
  743. box-sizing:border-box;
  744. #title{
  745. width: 100%;
  746. display: flex;
  747. flex-direction: column;
  748. align-items: center;
  749. position: relative;
  750. // margin-top: 40px;
  751. .school{
  752. font-size: 2.5em;
  753. font-weight: bold;
  754. letter-spacing: 20px;
  755. }
  756. .wordTitle{
  757. font-size: 2em;
  758. letter-spacing: .15em;
  759. margin-bottom:40px ;
  760. }
  761. .date{
  762. font-size: 1em;
  763. position: absolute;
  764. bottom: 0;
  765. right: 100px;
  766. font-weight: bold;
  767. }
  768. }
  769. .table{
  770. border: none;
  771. border-top: solid 1px black;
  772. border-right: solid 1px black;
  773. .textLeft{
  774. :deep(.el-textarea__inner){
  775. border: none ;
  776. border-radius: 0px;
  777. text-align: left !important;
  778. font-size: 16px;
  779. }
  780. }
  781. tr td{
  782. border: none;
  783. border-bottom: solid 1px black;
  784. border-left: solid 1px black;
  785. height: 50px;
  786. text-align: center;
  787. line-height: 30px;
  788. width: 14.3%;
  789. p{
  790. font-weight: 600;
  791. }
  792. :deep(.el-select .el-input .el-select__caret){
  793. display: none;
  794. }
  795. :deep(.el-textarea__inner){
  796. // padding: 0;
  797. border: none ;
  798. border-radius: 0px;
  799. text-align: center;
  800. font-size: 16px;
  801. }
  802. :deep(.el-input__inner){
  803. border: none ;
  804. border-radius: 0px;
  805. text-align: center;
  806. font-size: 16px;
  807. }
  808. :deep(input)::-webkit-outer-spin-button,
  809. :deep(input)::-webkit-inner-spin-button {
  810. -webkit-appearance: none;
  811. }
  812. :deep(input)[type="number"]{
  813. -moz-appearance: textfield;
  814. }
  815. }
  816. }
  817. .notes{
  818. width: 100%;
  819. display: flex;
  820. flex-direction:column;
  821. }
  822. }
  823. .operate{
  824. right:-85px;
  825. width:85px;
  826. height: 50px;
  827. display:flex;
  828. justify-content:space-between;
  829. align-items:center;
  830. position:absolute;
  831. .el-button{
  832. max-width:10px;
  833. display:flex;
  834. justify-content:center;
  835. align-items:center;
  836. margin-left:10px;
  837. }
  838. }
  839. </style>