electric.vue 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <template>
  2. <!-- 电力调度日志 -->
  3. <div class="electric">
  4. <div class="box">
  5. <p class="bt">电力调度日志</p>
  6. <div class="box-top-gjl">
  7. <div style="float:right; text-align: right;">
  8. <el-button size="small" type="primary" @click="dataSave" :loading="loading">保存</el-button>
  9. </div>
  10. </div>
  11. <el-form
  12. :model="dialog.form.data"
  13. ref="dialog_form"
  14. :rules="dialog.form.rules"
  15. label-width="90px"
  16. size="mini"
  17. >
  18. <el-row>
  19. <el-col :span="8">
  20. <el-form-item label="日志日期" prop="clock">
  21. <el-date-picker
  22. v-model="dialog.form.data.clock"
  23. style="width: 100%;"
  24. type="date"
  25. @change="getMd"
  26. ></el-date-picker>
  27. </el-form-item>
  28. </el-col>
  29. <el-col :span="8">
  30. <el-form-item label="交班人" prop="turnUser">
  31. <el-input v-model.trim="dialog.form.data.turnUser" clearable></el-input>
  32. </el-form-item>
  33. </el-col>
  34. <el-col :span="8">
  35. <el-form-item label="总值班长" prop="leader">
  36. <el-input v-model.trim="dialog.form.data.leader" clearable></el-input>
  37. </el-form-item>
  38. </el-col>
  39. </el-row>
  40. <el-row>
  41. <el-col :span="8">
  42. <el-form-item label="调度类型" prop="dtype">
  43. <el-input v-model.trim="dialog.form.data.dtype" clearable></el-input>
  44. </el-form-item>
  45. </el-col>
  46. <el-col :span="8">
  47. <el-form-item label="接班人" prop="carryUser">
  48. <el-input v-model.trim="dialog.form.data.carryUser" clearable></el-input>
  49. </el-form-item>
  50. </el-col>
  51. <el-col :span="8">
  52. <el-form-item label="班次" prop="inorder">
  53. <el-input v-model.trim="dialog.form.data.inorder" clearable></el-input>
  54. </el-form-item>
  55. </el-col>
  56. </el-row>
  57. <el-row>
  58. <el-col :span="8">
  59. <el-form-item label="编制时间" prop="tim">
  60. <el-date-picker
  61. v-model="dialog.form.data.tim"
  62. style="width: 100%;"
  63. type="datetime"
  64. ></el-date-picker>
  65. </el-form-item>
  66. </el-col>
  67. </el-row>
  68. <p class="bt">电力调度日志详细信息</p>
  69. <el-form-item label-width="0px">
  70. <div class="text-box">
  71. <span class="label">主要作业实绩</span>
  72. <div class="text">
  73. <textarea v-model.trim="dialog.form.data.elog" :maxlength="300" clearable></textarea>
  74. </div>
  75. </div>
  76. </el-form-item>
  77. </el-form>
  78. </div>
  79. </div>
  80. </template>
  81. <script>
  82. import { getCookie, formatDate } from '@/utils/util.js';
  83. export default {
  84. name: 'electric',
  85. data () {
  86. return {
  87. loading: false,
  88. dialog: {
  89. form: {
  90. data: {
  91. clock: '',
  92. turnUser: getCookie('loginName'), // 交班人
  93. carryUser: '', // 接班人
  94. tim: new Date(), // 编制时间
  95. dtype: '', // 调度类型
  96. leader: '', // 总值班长
  97. inorder: '', // 班次
  98. elog: '' // 动力日志
  99. },
  100. rules: {
  101. clock: [
  102. { required: true, message: '该项不能为空', trigger: 'change' }
  103. ],
  104. tim: [
  105. { required: true, message: '该项不能为空', trigger: 'change' }
  106. ],
  107. turnUser: [],
  108. dtype: [],
  109. leader: [],
  110. carryUser: [],
  111. inorder: [],
  112. elog: []
  113. }
  114. }
  115. }
  116. }
  117. },
  118. mounted () {
  119. let that = this;
  120. that.dialog.form.data.clock = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate() - 1);
  121. that.getMd(that.dialog.form.data.clock);
  122. },
  123. methods: {
  124. dataSave () {
  125. let that = this;
  126. let SubmitData = {
  127. clock: formatDate(that.dialog.form.data.clock, 'yyyy-MM-dd'),
  128. tim: formatDate(that.dialog.form.data.tim, 'yyyy-MM-dd HH:mm:ss'),
  129. turnUser: that.dialog.form.data.turnUser,
  130. carryUser: that.dialog.form.data.carryUser,
  131. dtype: that.dialog.form.data.dtype,
  132. leader: that.dialog.form.data.leader,
  133. inorder: that.dialog.form.data.inorder,
  134. elog: that.dialog.form.data.elog
  135. };
  136. that.$refs['dialog_form'].validate((valid) => {
  137. if (valid) {
  138. that.loading = true;
  139. that.axios.put('pass/ems/v1/dispatchelogs/', SubmitData)
  140. .then(function (res) {
  141. if (res.code === '0') {
  142. that.$message({
  143. message: '数据保存成功',
  144. type: 'success'
  145. });
  146. } else {
  147. that.$message.error(res.message);
  148. }
  149. that.loading = false;
  150. }).catch(function () {
  151. that.loading = false;
  152. });
  153. }
  154. });
  155. },
  156. // 获取日志信息
  157. getMd (val) {
  158. if (!val) {
  159. return true;
  160. }
  161. let that = this;
  162. that.dialog.form.data.tim = new Date();
  163. that.dialog.form.data.turnUser = getCookie('loginName');
  164. that.dialog.form.data.carryUser = '';
  165. that.dialog.form.data.dtype = '';
  166. that.dialog.form.data.leader = '';
  167. that.dialog.form.data.inorder = '';
  168. that.dialog.form.data.elog = '';
  169. let url = 'pass/ems/v1/dispatchelogs/' + formatDate(val, 'yyyy-MM-dd');
  170. that.axios.get(url).then(function (res) {
  171. if (res.code === '0') {
  172. if (res.data != null) {
  173. let item = res.data;
  174. that.dialog.form.data.tim = new Date(item.tim);
  175. that.dialog.form.data.turnUser = item.turnUser;
  176. that.dialog.form.data.carryUser = item.carryUser;
  177. that.dialog.form.data.dtype = item.dtype;
  178. that.dialog.form.data.leader = item.leader;
  179. that.dialog.form.data.inorder = item.inorder;
  180. that.dialog.form.data.elog = item.elog;
  181. }
  182. } else {
  183. that.$message.error(res.message);
  184. }
  185. }).catch(function () {
  186. });
  187. }
  188. }
  189. }
  190. </script>
  191. <style lang="less">
  192. .electric {
  193. min-width: 800px;
  194. height: 100%;
  195. .box {
  196. width: 800px;
  197. margin: 0 0 0 1px;
  198. .bt {
  199. font-size: 16px;
  200. font-weight: 600;
  201. text-align: center;
  202. padding: 20px 10px 2px 10px;
  203. }
  204. .box-top-gjl {
  205. overflow: hidden;
  206. padding: 0 0 10px 0;
  207. }
  208. .text-box {
  209. height: 168px;
  210. .label {
  211. width: 90px;
  212. line-height: 168px;
  213. padding-right: 8px;
  214. display: block;
  215. text-align: right;
  216. float: left;
  217. }
  218. .text {
  219. height: 100%;
  220. margin-left: 90px;
  221. textarea {
  222. width: 100%;
  223. height: 100%;
  224. padding: 5px 8px;
  225. border: 1px #c0c4cc solid;
  226. border-radius: 4px;
  227. }
  228. }
  229. }
  230. }
  231. }
  232. </style>