FundDetail.vue 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template>
  2. <div id="fundDetail" v-loading="loading">
  3. <table border="1" cellspacing="0" class="table">
  4. <tr id="fund">
  5. <td rowspan="12" ref="fund" >实际使用经费</td><td>总经费</td><td colspan="5" v-text="total+' 元'"></td>
  6. </tr>
  7. <tr>
  8. <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
  9. </tr>
  10. <tr>
  11. <td rowspan="5">直接费用(1)</td>
  12. </tr>
  13. <tr>
  14. <td colspan="2">小型工具与耗材费</td>
  15. <td v-text="data['device']">
  16. </td><td colspan="2">
  17. 原材料、电子元件、3D打印耗材、样品打样材料、展示宣传物料等;采购后应当办理入库与出库登记,确保账物相符,提交满足财务要求的相关材料报销。
  18. <div style="color:#0000FF">【对应内控系统指标:耗材费】</div><div style="color:#0000FF"> 上限:40%—65%</div>
  19. </td>
  20. </tr>
  21. <tr>
  22. <td colspan="2">创客交流与调研活动 差旅费</td><td v-text="data['Material']">
  23. </td><td colspan="2">
  24. 与项目直接相关的参赛、展示、市场/技术差旅费用;报销须附任务书、成果报告或赛事成绩凭证,提交满足财务要求的相关材料报销。
  25. <div style="color:#0000FF">【对应内控系统指标:差旅费】</div><div style="color:#0000FF">上限 :≤10%</div>
  26. </td>
  27. </tr>
  28. <tr>
  29. <td colspan="2">成果鉴定与认证费</td><td v-text="data['processing']">
  30. </td><td colspan="2">
  31. 第三方检测报告、计量校准、技术/产品认证等;报销须附正式报告或证书,提交满足财务要求的相关材料报销。
  32. <div style="color:#0000FF">【对应内控系统指标:委托业务费】</div><div style="color:#0000FF">上限:≤5%</div>
  33. </td>
  34. </tr>
  35. <tr>
  36. <td colspan="2">专家咨询与评审费</td><td v-text="data['Collaboration']">
  37. </td><td colspan="2">
  38. 技术咨询、论证、中期/结题评审等劳务费用;须附专家签字意见与现场照片等佐证,提交满足财务要求的相关材料报销。
  39. <div style="color:#0000FF">【对应内控系统指标:劳务费】</div><div style="color:#0000FF">上限:≤5%或≤2,000元</div>
  40. </td>
  41. </tr>
  42. <tr>
  43. <td rowspan="5">直接费用(2)</td>
  44. </tr>
  45. <tr>
  46. <td colspan="2">论文版面费</td><td v-text="data['APPRAISAL']">
  47. </td><td colspan="2">
  48. 团队学生以第一作者发表与项目相关论文的版面费;须提供录用通知,提交满足财务要求的相关材料报销。
  49. <div style="color:#0000FF">【对应内控系统指标:其他商品和服务支出】</div><div style="color:#0000FF">上限:≤5%或≤3,000元</div>
  50. </td>
  51. </tr>
  52. <tr>
  53. <td colspan="2">测试与外协加工费</td><td v-text="data['entery']">
  54. </td><td colspan="2">
  55. 专业检测与测试、小批量试制、样品制作、云计算资源、短期软件授权、第三方API等;须有合同/发票并注明交付成果,提交满足财务要求的相关材料报销。
  56. <div style="color:#0000FF">【对应内控系统指标:其他商品和服务支出】</div><div style="color:#0000FF">上限:≤40%</div>
  57. </td>
  58. </tr>
  59. <tr>
  60. <td colspan="2">创客交流与调研活动报名费</td><td v-text="data['activities']">
  61. </td><td colspan="2">
  62. 与项目直接相关的参赛、展示、市场/技术调研等报名费用;报销须附任务书、成果报告或赛事成绩凭证,提交满足财务要求的相关材料报销。
  63. <div style="color:#0000FF">【对应内控系统指标:其他商品和服务支出】</div><div style="color:#0000FF">上限:≤10%</div>
  64. </td>
  65. </tr>
  66. <tr>
  67. <td colspan="2">其他费用</td><td v-text="data['Transaction']">
  68. </td><td colspan="2">
  69. 邮寄快递、样品寄送等合理但难以预见的小额支出;须注明用途并提供有效票据,提交满足财务要求的相关材料报销。
  70. <div style="color:#0000FF">【对应内控系统指标:其他商品和服务支出】</div><div style="color:#0000FF">上限:≤3%,累计≤1,000元</div>
  71. </td>
  72. </tr>
  73. </table>
  74. </div>
  75. </template>
  76. <script>
  77. export default {
  78. data() {
  79. return {
  80. loading:false,
  81. data:{
  82. device:"",
  83. Material:"",
  84. processing:"",
  85. Collaboration:"",
  86. APPRAISAL:"",
  87. entery:"",
  88. activities:"",
  89. Transaction:"",
  90. }
  91. }
  92. },
  93. methods:{
  94. getData(){ //初始化完成获取基本数据进行填充
  95. if(this.loading)return;
  96. this.loading = true;
  97. for(let i in this.data)this.data[i]=0;
  98. let param={
  99. uid:this.$store.state.userInfo.userid,
  100. pid:this.$route.query['pid']
  101. }
  102. this.ajax.get(this.$store.state.api+'/getProjectActivityFundIsUseDetail',param).then(res=>{
  103. let isUse = res['data'][0];
  104. isUse.forEach(item=>{
  105. console.log(item)
  106. if(item['actualuse']==null|item['actualuse']=='')return;
  107. let JP = JSON.parse(item['actualuse']);
  108. this.data['device']+=Number(JP['device']);
  109. this.data['Material']+=Number(JP['Material']);
  110. this.data['processing']+=Number(JP['processing']);
  111. this.data['Collaboration']+=Number(JP['Collaboration']);
  112. this.data['APPRAISAL']+=Number(JP['APPRAISAL']);
  113. this.data['entery']+=Number(JP['entery']);
  114. this.data['activities']+=Number(JP['activities']);
  115. this.data['Transaction']+=Number(JP['Transaction']);
  116. })
  117. this.loading = false;
  118. }).catch(err=>{
  119. console.log(err);
  120. })
  121. },
  122. },
  123. computed:{
  124. total(){
  125. let num = 0;
  126. for(let i in this.data)num+=Number(this.data[i]);
  127. return num;
  128. }
  129. },
  130. mounted(){
  131. this.getData()
  132. console.log(111);
  133. }
  134. }
  135. </script>
  136. <style lang="less" scoped>
  137. #fundDetail{
  138. width: 100%;
  139. height: 100%;
  140. display: flex;
  141. justify-content: center;
  142. align-items: center;
  143. .table{
  144. width: 100%;
  145. border: none;
  146. border-top: solid 1px black;
  147. border-right: solid 1px black;
  148. border-left: solid 1px black;
  149. tr{
  150. position: relative;
  151. td{
  152. border: none;
  153. border-bottom: solid 1px black;
  154. border-right: solid 1px black;
  155. height: 65px;
  156. text-align: center;
  157. line-height: 30px;
  158. min-width: 80px;
  159. box-sizing: border-box;
  160. padding: 5px;
  161. }
  162. }
  163. }
  164. }
  165. </style>