index.vue 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. <template>
  2. <el-card class="box-card">
  3. <div slot="header" class="clearfix">
  4. <span>项目(场站)统计信息录入</span>
  5. </div>
  6. <div>
  7. <el-tabs tab-position="left" style="height: 300px;">
  8. <el-tab-pane label="项目统计信息">
  9. <el-form ref="form" :model="form" :rules="rules" label-width="180px" style="width: 50%">
  10. <el-row class="row-bg el-row-two" justify="space-between">
  11. <el-col :span="12">
  12. <el-form-item label="已发起项目数目:" prop="initiatedNum">
  13. <el-input v-model="form.initiatedNum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
  14. </el-form-item>
  15. </el-col>
  16. <el-col :span="12">
  17. <el-form-item label="已完成核准项目数目:" prop="approvalNum">
  18. <el-input v-model="form.approvalNum" :maxlength="11" placeholder="必填项" style="width: 100%"/>
  19. </el-form-item>
  20. </el-col>
  21. </el-row>
  22. <el-row class="row-bg el-row-two" justify="space-between">
  23. <el-col :span="12">
  24. <el-form-item label="正在实施项目数目:" prop="buildNum">
  25. <el-input v-model="form.buildNum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
  26. </el-form-item>
  27. </el-col>
  28. <el-col :span="12">
  29. <el-form-item label="投产发电项目数目:" prop="electricNum">
  30. <el-input v-model="form.electricNum" :maxlength="11" placeholder="必填项" style="width: 100%"/>
  31. </el-form-item>
  32. </el-col>
  33. </el-row>
  34. <el-form-item style="text-align: center; margin-top: 1%;">
  35. <el-button type="primary" @click="projectSave">保存</el-button>
  36. </el-form-item>
  37. </el-form>
  38. </el-tab-pane>
  39. <el-tab-pane label="场站统计信息">
  40. <el-form ref="form" :model="fInfo" :rules="fInfoRules" label-width="120px" style="width: 50%">
  41. <el-row class="row-bg el-row-two" justify="space-between">
  42. <el-col :span="12">
  43. <el-form-item label="风电场总数:" prop="num">
  44. <el-input v-model="fInfo.num" :maxlength="16" placeholder="必填项" style="width: 100%"/>
  45. </el-form-item>
  46. </el-col>
  47. <el-col :span="12">
  48. <el-form-item label="装机容量:" prop="capacity">
  49. <el-input v-model="fInfo.capacity" :maxlength="11" placeholder="必填项" style="width: 100%"/>
  50. </el-form-item>
  51. </el-col>
  52. </el-row>
  53. <el-row class="row-bg el-row-two" justify="space-between">
  54. <el-col :span="12">
  55. <el-form-item label="风机台数:" prop="fjNum">
  56. <el-input v-model="fInfo.fjNum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
  57. </el-form-item>
  58. </el-col>
  59. </el-row>
  60. </el-form>
  61. <el-form ref="form" :model="gInfo" :rules="gInfoRules" label-width="120px" style="width: 50%">
  62. <el-row class="row-bg el-row-two" justify="space-between">
  63. <el-col :span="12">
  64. <el-form-item label="光伏场站总数:" prop="num">
  65. <el-input v-model="gInfo.num" :maxlength="16" placeholder="必填项" style="width: 100%"/>
  66. </el-form-item>
  67. </el-col>
  68. <el-col :span="12">
  69. <el-form-item label="装机容量:" prop="capacity">
  70. <el-input v-model="gInfo.capacity" :maxlength="11" placeholder="必填项" style="width: 100%"/>
  71. </el-form-item>
  72. </el-col>
  73. </el-row>
  74. <el-row class="row-bg el-row-two" justify="space-between">
  75. <el-col :span="12">
  76. <el-form-item label="逆变器台数:" prop="nbqNum">
  77. <el-input v-model="gInfo.nbqNum" :maxlength="16" placeholder="必填项" style="width: 100%"/>
  78. </el-form-item>
  79. </el-col>
  80. </el-row>
  81. <el-form-item style="text-align: center; margin-top: 1%;">
  82. <el-button type="primary" @click="stationSave">保存</el-button>
  83. </el-form-item>
  84. </el-form>
  85. </el-tab-pane>
  86. </el-tabs>
  87. </div>
  88. </el-card>
  89. </template>
  90. <script>
  91. import {getTotalityInfo,updateProjectTotalityInfoList,updateStationTotalityInfoList} from "@/api/biz/manualEntry/projectAndStationInfoEntry";
  92. export default {
  93. //项目或场站信息录入
  94. name: "index",
  95. data() {
  96. const reg = /^\d+(\.\d{1,6})?$/
  97. const checkFnum = (rule, value, callback) => {
  98. if (!value) {
  99. callback(new Error('不能为空'))
  100. }
  101. if (reg.test(value) == false) {
  102. callback(new Error('只能输入正数数字或带小数点6位以内的数字'));
  103. }
  104. callback()
  105. }
  106. return {
  107. id: '',
  108. form: {
  109. initiatedNum: '3',//已发起项目数目
  110. approvalNum: '5',//已完成核准项目数目
  111. buildNum: '4',//正在实施项目数目
  112. electricNum: '1',//投产发电项目数目
  113. },
  114. rules: {
  115. initiatedNum: [{required: true, validator: checkFnum, trigger: 'change'}],
  116. approvalNum: [{required: true, validator: checkFnum, trigger: 'change'}],
  117. buildNum: [{required: true, validator: checkFnum, trigger: 'change'}],
  118. electricNum: [{required: true, validator: checkFnum, trigger: 'change'}],
  119. },
  120. fInfoRules: {
  121. num: [{required: true, validator: checkFnum, trigger: 'change'}],
  122. capacity: [{required: true, validator: checkFnum, trigger: 'change'}],
  123. fjNum: [{required: true, validator: checkFnum, trigger: 'change'}],
  124. },
  125. gInfoRules: {
  126. num: [{required: true, validator: checkFnum, trigger: 'change'}],
  127. capacity: [{required: true, validator: checkFnum, trigger: 'change'}],
  128. nbqNum: [{required: true, validator: checkFnum, trigger: 'change'}],
  129. },
  130. fInfo: {
  131. num: "10",
  132. capacity: "724.6",
  133. fjNum: "407"
  134. },
  135. gInfo: {
  136. num: "4",
  137. capacity: "110",
  138. nbqNum: "204"
  139. },
  140. }
  141. },
  142. mounted() {
  143. this.initInfo()
  144. },
  145. methods: {
  146. initInfo() {
  147. getTotalityInfo().then(res => {
  148. let data = res.data[0]
  149. this.id = data.id
  150. console.log()
  151. this.form = {
  152. initiatedNum: data.pinfo.initiatedNum,//已发起项目数目
  153. approvalNum: data.pinfo.approvalNum,//已完成核准项目数目
  154. buildNum: data.pinfo.buildNum,//正在实施项目数目
  155. electricNum: data.pinfo.electricNum,//投产发电项目数目
  156. }
  157. this.fInfo = {
  158. num: data.finfo.num,
  159. capacity: data.finfo.capacity,
  160. fjNum: data.finfo.fjNum
  161. }
  162. this.gInfo = {
  163. num: data.ginfo.num,
  164. capacity: data.ginfo.capacity,
  165. nbqNum: data.ginfo.nbqNum
  166. }
  167. }).catch(err => {
  168. console.log('获取项目(场站)总体信息异常:' + err)
  169. })
  170. },
  171. projectSave() {
  172. let saveData = {
  173. id: this.id,
  174. pInfo: this.form,
  175. // fInfo: null,
  176. // gInfo: null
  177. }
  178. // let id = this.id
  179. // let pInfo= this.form
  180. console.log(saveData)
  181. updateProjectTotalityInfoList(saveData).then(res=>{
  182. this.$message.success('保存项目总体信息成功')
  183. }).catch(err=>{
  184. this.$message.warning('保存项目总体信息异常')
  185. console.log('保存项目总体信息异常:'+err)
  186. })
  187. },
  188. stationSave() {
  189. let saveData = {
  190. id: this.id,
  191. fInfo: this.fInfo,
  192. gInfo: this.gInfo
  193. }
  194. updateStationTotalityInfoList(saveData).then(res=>{
  195. this.$message.success('保存场站总体信息成功')
  196. }).catch(err=>{
  197. this.$message.success('保存场站总体信息异常')
  198. console.log('保存场站总体信息异常:'+err)
  199. })
  200. }
  201. }
  202. }
  203. </script>
  204. <style scoped>
  205. </style>