basic.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <template>
  2. <div id="basic">
  3. <el-row>
  4. <el-col :span="24" class="basic">
  5. <el-form :model="basicForm" :rules="rules" ref="basicForm" label-width="120px">
  6. <el-form-item label="成果名称" prop="achieve_name">
  7. <el-input v-model="basicForm.achieve_name" placeholder="请输入成果名称"></el-input>
  8. </el-form-item>
  9. <el-form-item label="成果类别" prop="achieve_type">
  10. <el-input v-model="basicForm.achieve_type" placeholder="请输入成果类别"></el-input>
  11. </el-form-item>
  12. <el-form-item label="成果编号" prop="achieve_num">
  13. <el-input v-model="basicForm.achieve_num" placeholder="请输入成果编号"></el-input>
  14. </el-form-item>
  15. <el-form-item label="成果取得时间" prop="achieve_date">
  16. <el-date-picker
  17. v-model="basicForm.achieve_date"
  18. type="datetime"
  19. placeholder="请选择开始时间"
  20. format="yyyy-MM-dd HH:mm:ss"
  21. value-format="yyyy-MM-dd HH:mm:ss"
  22. >
  23. </el-date-picker>
  24. </el-form-item>
  25. <el-form-item label="成果形式" prop="achieve_form">
  26. <el-input v-model="basicForm.achieve_form" placeholder="请输入成果形式"></el-input>
  27. </el-form-item>
  28. <el-form-item label="申请人" prop="apply_personal">
  29. <el-input v-model="basicForm.apply_personal" placeholder="请输入申请人"></el-input>
  30. </el-form-item>
  31. <el-form-item label="申请单位" prop="apply_company">
  32. <el-input v-model="basicForm.apply_company" placeholder="请输入申请单位"></el-input>
  33. </el-form-item>
  34. <el-form-item label="地址" prop="address">
  35. <el-input v-model="basicForm.address" placeholder="请输入地址"></el-input>
  36. </el-form-item>
  37. <el-form-item label="申请单位/申请人属性" prop="apply_nature">
  38. <el-input v-model="basicForm.apply_nature" placeholder="请输入申请单位/申请人属性"></el-input>
  39. </el-form-item>
  40. <el-form-item label="联系人" prop="contacts">
  41. <el-input v-model="basicForm.contacts" placeholder="请输入联系人"></el-input>
  42. </el-form-item>
  43. <el-form-item label="联系电话" prop="phone">
  44. <el-input v-model="basicForm.phone" placeholder="请输入联系电话"></el-input>
  45. </el-form-item>
  46. <el-form-item label="邮箱" prop="email">
  47. <el-input v-model="basicForm.email" placeholder="请输入邮箱"></el-input>
  48. </el-form-item>
  49. <el-form-item label="传真" prop="fax">
  50. <el-input v-model="basicForm.fax" placeholder="请输入传真"></el-input>
  51. </el-form-item>
  52. <el-form-item label="评价目的" prop="objective">
  53. <el-input
  54. v-model="basicForm.objective"
  55. type="textarea"
  56. maxlength="200"
  57. show-word-limit
  58. :autosize="{ minRows: 4, maxRows: 5 }"
  59. placeholder="请输入评价目的"
  60. ></el-input>
  61. </el-form-item>
  62. <el-form-item label="成果所处阶段" prop="stage">
  63. <el-input v-model="basicForm.stage" placeholder="请输入成果所处阶段"></el-input>
  64. </el-form-item>
  65. <el-form-item label="经济效益产值" prop="output">
  66. <el-input v-model="basicForm.output" placeholder="请输入经济效益产值"></el-input>
  67. </el-form-item>
  68. <el-form-item label="经济效益利润" prop="profit">
  69. <el-input v-model="basicForm.profit" placeholder="请输入经济效益利润"></el-input>
  70. </el-form-item>
  71. <el-form-item label="经济效益税收" prop="revenue">
  72. <el-input v-model="basicForm.revenue" placeholder="请输入经济效益税收"></el-input>
  73. </el-form-item>
  74. <el-col :span="24" class="btn">
  75. <el-button type="primary" size="mini" @click="resetBtn">取消申报</el-button>
  76. <el-button type="primary" size="mini" @click="basicBtn('basicForm')">下一步</el-button>
  77. </el-col>
  78. </el-form>
  79. </el-col>
  80. </el-row>
  81. </div>
  82. </template>
  83. <script>
  84. import { mapState, createNamespacedHelpers } from 'vuex';
  85. export default {
  86. name: 'basic',
  87. props: {
  88. basicForm: { type: Object },
  89. },
  90. components: {},
  91. data: function() {
  92. return {
  93. rules: {
  94. achieve_name: [{ required: true, message: '请输入成果名称', trigger: 'blur' }],
  95. achieve_type: [{ required: true, message: '请输入成果类别', trigger: 'blur' }],
  96. achieve_num: [{ required: true, message: '请输入成果编号', trigger: 'blur' }],
  97. achieve_date: [{ required: true, message: '请选择开始时间', trigger: 'change' }],
  98. achieve_form: [{ required: true, message: '请输入成果形式', trigger: 'blur' }],
  99. apply_personal: [{ required: true, message: '请输入申请人', trigger: 'blur' }],
  100. apply_company: [{ required: true, message: '请输入申请单位', trigger: 'blur' }],
  101. address: [{ required: true, message: '请输入地址', trigger: 'blur' }],
  102. apply_nature: [{ required: true, message: '请输入申请单位/申请人属性', trigger: 'blur' }],
  103. contacts: [{ required: true, message: '请输入联系人', trigger: 'blur' }],
  104. email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
  105. fax: [{ required: true, message: '请输入传真', trigger: 'blur' }],
  106. objective: [{ required: true, message: '请输入评价目的', trigger: 'blur' }],
  107. stage: [{ required: true, message: '请输入成果所处阶段', trigger: 'blur' }],
  108. output: [{ required: true, message: '请输入经济效益产值', trigger: 'blur' }],
  109. profit: [{ required: true, message: '请输入经济效益利润', trigger: 'blur' }],
  110. revenue: [{ required: true, message: '请输入经济效益税收', trigger: 'blur' }],
  111. },
  112. };
  113. },
  114. created() {},
  115. methods: {
  116. // 取消申报
  117. resetBtn() {
  118. this.$emit('resetBtn');
  119. },
  120. // 下一步
  121. basicBtn(formName) {
  122. this.$refs[formName].validate(valid => {
  123. if (valid) {
  124. this.$emit('basicBtn', { data: this.basicForm });
  125. } else {
  126. console.log('error submit!!');
  127. return false;
  128. }
  129. });
  130. },
  131. },
  132. computed: {
  133. ...mapState(['user']),
  134. pageTitle() {
  135. return `${this.$route.meta.title}`;
  136. },
  137. },
  138. metaInfo() {
  139. return { title: this.$route.meta.title };
  140. },
  141. };
  142. </script>
  143. <style lang="less" scoped>
  144. .basic {
  145. padding: 15px;
  146. .btn {
  147. text-align: center;
  148. }
  149. }
  150. </style>