detail.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <div id="detail">
  3. <el-row>
  4. <el-col :span="24" class="main">
  5. <el-col :span="24" class="top">
  6. <el-button type="primary" size="mini" @click="back">返回</el-button>
  7. </el-col>
  8. <el-col :span="24" class="down">
  9. <el-tabs v-model="active" type="card">
  10. <el-tab-pane label="(一)基本信息" name="first">
  11. <basic :info="form.basic"></basic>
  12. </el-tab-pane>
  13. <el-tab-pane label="(二)内容简介" name="second">
  14. <brief :info="form.brief"></brief>
  15. </el-tab-pane>
  16. <el-tab-pane label="(三)主研人员名单" name="third">
  17. <research :list="form.research"></research>
  18. </el-tab-pane>
  19. <el-tab-pane label="(四)评价委托方提供资料清单" name="fourth">
  20. <detailed :linkInfo="form.datalist"></detailed>
  21. </el-tab-pane>
  22. <el-tab-pane label="(五)资料审核提交" name="fiveth">
  23. <el-col :span="24" class="fiveth">
  24. <el-form :model="form" :rules="rules" ref="form" label-width="100px">
  25. <el-form-item label="审核建议" prop="desc">
  26. <el-input
  27. type="textarea"
  28. placeholder="请输入审核建议"
  29. v-model="form.desc"
  30. maxlength="200"
  31. :autosize="{ minRows: 4, maxRows: 6 }"
  32. show-word-limit
  33. >
  34. </el-input>
  35. </el-form-item>
  36. <el-form-item label="审核状态" prop="status">
  37. <el-radio-group v-model="form.status">
  38. <el-radio label="0">审核通过</el-radio>
  39. <el-radio label="1">审核拒绝</el-radio>
  40. </el-radio-group>
  41. </el-form-item>
  42. <el-col :span="24" class="btn">
  43. <el-button type="primary" size="mini" @click="onSubmit('form')">提交审核</el-button>
  44. </el-col>
  45. </el-form>
  46. </el-col>
  47. </el-tab-pane>
  48. </el-tabs>
  49. </el-col>
  50. </el-col>
  51. </el-row>
  52. </div>
  53. </template>
  54. <script>
  55. import basic from './parts/basic.vue';
  56. import brief from './parts/brief.vue';
  57. import research from './parts/research.vue';
  58. import detailed from './parts/detailed.vue';
  59. import { mapState, createNamespacedHelpers } from 'vuex';
  60. export default {
  61. metaInfo() {
  62. return { title: this.$route.meta.title };
  63. },
  64. name: 'detail',
  65. props: {},
  66. components: {
  67. basic,
  68. brief,
  69. research,
  70. detailed,
  71. },
  72. data: function() {
  73. return {
  74. // 标签
  75. active: 'first',
  76. form: {
  77. basic: {
  78. achieve_name: '成果名称',
  79. achieve_type: '成果类别',
  80. achieve_num: '成果编号',
  81. achieve_date: '成果取得时间',
  82. achieve_form: '成果形式',
  83. apply_personal: '申请人',
  84. apply_company: '申请单位',
  85. address: '地址',
  86. apply_nature: '申请人/申请人属性',
  87. contacts: '联系人',
  88. phone: '联系电话',
  89. email: '邮箱',
  90. fax: '传真',
  91. objective: '评价目的',
  92. stage: '成果所处阶段',
  93. output: '经济效益产值',
  94. profit: '经济效益利润',
  95. revenue: '经济效益税收',
  96. },
  97. brief: {
  98. achieve_brief: '成果简介',
  99. field: '应用领域和技术原理',
  100. kpi_index: '性能指标',
  101. compare: '与国内外同类技术比较',
  102. advanced: '成果的创造性,先进性',
  103. sense: '作用意义',
  104. prospect: '推广应用的范围,条件和前景',
  105. opinion: '存在的问题和改进意见',
  106. },
  107. research: [
  108. {
  109. research_name: '姓名',
  110. card: '220182199603257019',
  111. gender: '性别',
  112. position: '技术职称',
  113. education: '文化程度',
  114. degree: '学位',
  115. abroad: '是否留学归国',
  116. research_company: '工作单位',
  117. devote: '对成果创造性贡献',
  118. },
  119. ],
  120. datalist: {
  121. work_report: '研究工作报告(必备)',
  122. techol_report: '研究技术报告(必备)',
  123. benefit: '经济效益分析(必备)',
  124. science_report: '科技查新报告(科技项目成果,必备)',
  125. assess_report: '法律价值评估报告(专利成果,必备)',
  126. app_prove: '推广应用证明(两家以上应用单位,必备)',
  127. techol_ppt: '成果技术汇报PPT(必备)',
  128. testing_report: '检测报告(根据项目需要提供)',
  129. quality: '质量标准(检测报告所依据的标准,企业标准,行业标准,国家标准,国际标准)',
  130. patent: '与本成果相关的授权专利证书',
  131. special: '特殊行业需要提供的相应证明材料',
  132. budget: '项目经费预算书',
  133. final: '项目经费决算书',
  134. },
  135. },
  136. rules: {
  137. desc: [{ required: true, message: '请输入审核意见', trigger: 'blur' }],
  138. status: [{ required: true, message: '请选择状态', trigger: 'change' }],
  139. },
  140. };
  141. },
  142. created() {},
  143. methods: {
  144. // 返回
  145. back() {
  146. this.$router.push({ path: '/adminExamine' });
  147. },
  148. onSubmit(formName) {
  149. this.$refs[formName].validate(valid => {
  150. if (valid) {
  151. alert('submit!');
  152. } else {
  153. console.log('error submit!!');
  154. return false;
  155. }
  156. });
  157. },
  158. },
  159. computed: {
  160. ...mapState(['user']),
  161. },
  162. watch: {},
  163. };
  164. </script>
  165. <style lang="less" scoped>
  166. .main {
  167. .top {
  168. margin: 0 0 10px 0;
  169. text-align: right;
  170. }
  171. .down {
  172. .fiveth {
  173. padding: 0 20%;
  174. .btn {
  175. text-align: center;
  176. }
  177. }
  178. }
  179. }
  180. </style>