reportForm.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <template>
  2. <div>
  3. <el-form ref="reportForm" :rules="rules" :model="form" class="demo-form-inline"
  4. label-width="130px">
  5. <el-form-item label="mongo库" prop="mongodb_database">
  6. <el-input v-model="form['mongodb_database']" size="mini"
  7. :disabled="!report.isEnable" type="textarea"
  8. :autosize="{ minRows: 1 }"></el-input>
  9. </el-form-item>
  10. <el-form-item label="读取的mongo表" prop="mongodb_read_table">
  11. <el-input v-model="form['mongodb_read_table']" size="mini"
  12. :disabled="!report.isEnable" type="textarea"
  13. :autosize="{ minRows: 1 }"></el-input>
  14. </el-form-item>
  15. <el-form-item label="时间列名称" prop="col_time">
  16. <el-input v-model="form['col_time']" size="mini"
  17. :disabled="!report.isEnable" type="textarea"
  18. :autosize="{ minRows: 1 }"></el-input>
  19. </el-form-item>
  20. <el-form-item label="目标列" prop="label">
  21. <el-input v-model="form['label']" size="mini"
  22. :disabled="!report.isEnable " type="textarea"
  23. :autosize="{ minRows: 1 }"></el-input>
  24. </el-form-item>
  25. <el-form-item label="预测列" prop="label_pre">
  26. <el-input v-model="form['label_pre']" size="mini"
  27. :disabled="!report.isEnable " type="textarea"
  28. :autosize="{ minRows: 1 }"></el-input>
  29. </el-form-item>
  30. <el-form-item label="站点编码" prop="farm_id">
  31. <el-input v-model="form['farm_id']" size="mini"
  32. :disabled="!report.isEnable" type="textarea"
  33. :autosize="{ minRows: 1 }"></el-input>
  34. </el-form-item>
  35. <el-form-item label="装机容量" prop="cap">
  36. <el-input v-model="form['cap']" size="mini"
  37. :disabled="!report.isEnable" type="textarea"
  38. :autosize="{ minRows: 1 }"></el-input>
  39. </el-form-item>
  40. <el-form-item label="分组计算准确率的key值">
  41. <el-input v-model="form['group_key']" size="mini"
  42. :disabled="!report.isEnable" type="textarea"
  43. :autosize="{ minRows: 1 }"></el-input>
  44. </el-form-item>
  45. </el-form>
  46. </div>
  47. </template>
  48. <script>
  49. export default {
  50. props: {
  51. formData: {
  52. type: Object,
  53. default: {}
  54. }
  55. },
  56. destroyed() {
  57. },
  58. watch: {
  59. formData: {
  60. handler(newVal, oldVal) {
  61. // console.log(newVal)
  62. this.report = newVal
  63. this.form = newVal.params
  64. },
  65. immediate: true
  66. }
  67. },
  68. data() {
  69. return {
  70. report: {},
  71. form: {},
  72. rules: {
  73. mongodb_database: [
  74. {required: true, message: '请填写mongo库', trigger: 'blur'}
  75. ],
  76. mongodb_write_table: [
  77. {required: true, message: '请填写写入的mongo表', trigger: 'blur'}
  78. ],
  79. mongodb_read_table: [
  80. {required: true, message: '请填写读取的mongo表', trigger: 'blur'}
  81. ],
  82. col_time: [
  83. {required: true, message: '请填写时间列名称', trigger: 'blur'}
  84. ],
  85. label: [
  86. {required: true, message: '请填写目标列', trigger: 'blur'}
  87. ], label_pre: [
  88. {required: true, message: '请填写预测列', trigger: 'blur'}
  89. ], cap: [
  90. {required: true, message: '请填写装机容量', trigger: 'blur'}
  91. ], farm_id: [
  92. {required: true, message: '请填写站点编码', trigger: 'blur'}
  93. ]
  94. },
  95. plantType: [
  96. {label: 'solar', value: 'solar'},
  97. {label: 'wind', value: 'wind'}
  98. ],
  99. }
  100. },
  101. mounted() {
  102. },
  103. methods: {
  104. saveTask() {
  105. this.$refs.reportForm.validate((valid) => {
  106. if (valid) {
  107. // console.log('child submit!');
  108. this.$emit('child-event', this.form)
  109. return true
  110. } else {
  111. this.$emit('child-event', {})
  112. console.log('error submit!!');
  113. return false;
  114. }
  115. });
  116. // this.dialogVisible = false
  117. },
  118. }
  119. }
  120. </script>
  121. <style scoped lang="scss">
  122. </style>