index.vue 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <script setup name="prepare">
  2. import { ElMessage } from "element-plus";
  3. import { onMounted, ref, onActivated, reactive } from "vue";
  4. import request from "@/api/axios.js";
  5. import { baseURL, socketURL } from "@/api/axios.js";
  6. /**配置参数 */
  7. const treeHeight = ref(window.innerHeight - 260 + "px"); //tree高度
  8. const excelHeight = ref(window.innerHeight - 260 + "px"); //excel高度
  9. const tableHeight = ref(window.innerHeight - 260 + "px");
  10. /**created */
  11. const ChangZhan = ref([]);
  12. const value1 = ref();
  13. let val1 = ref();
  14. let value2 = ref();
  15. const BeginChange = (val) => {
  16. // console.log(`${val} items per page`)
  17. console.log(val);
  18. val1.value=val
  19. // console.log(val);
  20. }
  21. const EndChange = (val) => {
  22. // console.log(`${val} items per page`)
  23. console.log(val);
  24. value2.value=val
  25. }
  26. const tableData=ref()
  27. const nbsubmit = async () => {
  28. const res = await request.get(
  29. `/meterinfo/equipmentMonth?windId=${value1.value}${lbval.value==='all'?"":"&id="+lbval.value}&startTime=${new Date(val1.value).getTime()}&endTime=${ new Date(value2.value).getTime()}&page=${currentPage4.value}&perPage=${pageSize4.value}`,
  30. );
  31. console.log('66',res);
  32. res.data.calculating.forEach((ele)=>{
  33. ele.date=ele.date.slice(0, 7)
  34. })
  35. tableData.value=res.data.calculating
  36. total.value=res.data.totalItems
  37. console.log('123',tableData.value);
  38. };
  39. const leibie = ref([]);
  40. const lbval = ref('all');
  41. const ChangZhanChange = async () => {
  42. console.log('123',value1.value);
  43. const res = await request.get(`/meter/getEquipmentId?windId=${value1.value}`);
  44. console.log(res);
  45. leibie.value=res.data.type
  46. lbval.value='all'
  47. };
  48. const total=ref()
  49. let currentPage4 = ref(1)
  50. let pageSize4 = ref(19)
  51. const handleSizeChange = (val) => {
  52. // console.log(`${val} items per page`)
  53. pageSize4.value=val
  54. nbsubmit()
  55. }
  56. const handleCurrentChange = (val) => {
  57. // console.log(`current page: ${val}`)
  58. currentPage4.value=val
  59. nbsubmit()
  60. }
  61. const Change1 = async () => {
  62. const res = await request.get(`/meter/infoall?stationId=${goodval.value}`);
  63. console.log(res);
  64. ChangZhan.value = res.data.fdc;
  65. fenval.value='all'
  66. mingval.value='all'
  67. };
  68. // 拿场站
  69. const good = ref([]);
  70. const goodval = ref();
  71. const nbhh = async () => {
  72. const res = await request.get("/meter/allStation");
  73. console.log(res);
  74. good.value = res.data
  75. // console.log('0',ChangZhan.good);
  76. // value1.value = ChangZhan.value[0].nemCode;
  77. };
  78. const getTime1=(val)=> {
  79. //时间戳处理,val=1是默认开始时间(当前月第一天),val=2是默认结束时间(今天)
  80. var date = new Date();
  81. var year = date.getFullYear(),
  82. month = date.getMonth() + 1,
  83. day = date.getDate();
  84. month >= 1 && month <= 9 ? (month = "0" + month) : "";
  85. day >= 0 && day <= 9 ? (day = "0" + day) : "";
  86. var begin = year + "-" + month ;
  87. var end = year + "-" + month ;
  88. if (val == 1) {
  89. return begin;
  90. } else if (val == 2) {
  91. return end;
  92. }
  93. }
  94. /**mounted */
  95. onMounted(() => {
  96. tableHeight.value = window.innerHeight - 260 + "px";
  97. excelHeight.value = window.innerHeight - 260 + "px";
  98. treeHeight.value = window.innerHeight - 260 + "px";
  99. window.addEventListener("resize", () => {
  100. tableHeight.value = window.innerHeight - 260 + "px";
  101. excelHeight.value = window.innerHeight - 260 + "px";
  102. treeHeight.value = window.innerHeight - 260 + "px";
  103. });
  104. nbhh();
  105. val1.value = getTime1(1);
  106. value2.value = getTime1(2);
  107. });
  108. </script>
  109. <template>
  110. <div class="bg-white py-[10px] px-[10px] relative">
  111. <div
  112. class="pl-[20px] flex items-center h-[80px] relative mb-[20px] shadow rounded-[6px] shadow-blue-500"
  113. >
  114. <el-form-item label="场站类型" class="!mb-0">
  115. <el-select
  116. v-model="goodval"
  117. class="w-[150px]"
  118. @change="Change1(goodval)"
  119. placeholder="请选择"
  120. popper-class="select"
  121. >
  122. <el-option
  123. v-for="item in good"
  124. :key="item.nemCode"
  125. :value="item.nemCode"
  126. :label="item.name"
  127. ></el-option>
  128. </el-select>
  129. </el-form-item>
  130. <el-form-item label="场站" class="!mb-0 ml-3">
  131. <el-select
  132. v-model="value1"
  133. class="w-[150px]"
  134. @change="ChangZhanChange(value1)"
  135. clearable
  136. placeholder="请选择"
  137. popper-class="select"
  138. >
  139. <el-option
  140. v-for="item in ChangZhan"
  141. :key="item.nemCode"
  142. :value="item.nemCode"
  143. :label="item.name"
  144. ></el-option>
  145. </el-select>
  146. </el-form-item>
  147. <el-form-item label="风机编号" class="!mb-0 ml-2">
  148. <el-select
  149. v-model="lbval"
  150. class="w-[200px]"
  151. @change="ChangZhanChange1(lbval)"
  152. placeholder="请选择"
  153. popper-class="select"
  154. >
  155. <el-option
  156. label="全选"
  157. value="all"
  158. />
  159. <el-option
  160. v-for="item in leibie"
  161. :key="item.nemCode"
  162. :value="item.nemCode"
  163. :label="item.name"
  164. ></el-option>
  165. </el-select>
  166. </el-form-item>
  167. <el-form-item label="开始" class="!mb-0 ml-2">
  168. <el-date-picker
  169. v-model="val1"
  170. @change="BeginChange(val1)"
  171. type="month"
  172. value-format="YYYY-MM"
  173. placeholder="选择日期"
  174. >
  175. </el-date-picker>
  176. </el-form-item>
  177. <el-form-item label="结束" class="!mb-0">
  178. <el-date-picker
  179. v-model="value2"
  180. @change="EndChange(value2)"
  181. type="month"
  182. value-format="YYYY-MM"
  183. placeholder="选择日期"
  184. >
  185. </el-date-picker>
  186. </el-form-item>
  187. <el-form-item class="!mb-0 ml-3">
  188. <el-button type="primary" @click="nbsubmit">查询</el-button>
  189. </el-form-item>
  190. </div>
  191. <div
  192. class="relative shadow rounded-[6px] shadow-blue-500 px-[10px] pt-[20px] pb-[10px]"
  193. >
  194. <div>
  195. <el-scrollbar max-height="650px">
  196. <el-table
  197. :data="tableData"
  198. height="650"
  199. style="width: 100% ,height:650px"
  200. :border="true"
  201. >
  202. <el-table-column
  203. prop="date"
  204. label="时间"
  205. align="center"
  206. width="250"
  207. resizable
  208. />
  209. <el-table-column
  210. prop="name"
  211. label="风机编号"
  212. align="center"
  213. width="250"
  214. />
  215. <!-- <el-table-column
  216. prop="startCode"
  217. label="起码"
  218. align="center"
  219. width="200"
  220. resizable
  221. />
  222. <el-table-column
  223. prop="endCode"
  224. label="止码"
  225. align="center"
  226. width="200"
  227. /> -->
  228. <el-table-column
  229. prop="rdl"
  230. label="月电量(万KWh)"
  231. align="center"
  232. width="200"
  233. />
  234. </el-table>
  235. </el-scrollbar>
  236. </div>
  237. <div>
  238. <el-pagination
  239. v-model:current-page="currentPage4"
  240. v-model:page-size="pageSize4"
  241. :page-sizes="[19,30,50,100]"
  242. :small="small"
  243. :disabled="disabled"
  244. :background="background"
  245. layout="total, sizes, prev, pager, next, jumper"
  246. :total="total"
  247. @size-change="handleSizeChange"
  248. @current-change="handleCurrentChange"
  249. />
  250. </div>
  251. </div>
  252. </div>
  253. </template>