studentProjectWord.vue 33 KB

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