index.vue 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <div class="system-dic-container">
  3. <el-card shadow="hover">
  4. <div class="system-user-search mb15">
  5. <el-form :model="tableData.param" ref="queryRef" :inline="true" label-width="68px">
  6. <!-- <el-form-item label="" prop="">
  7. <el-radio-group v-model="tableData.param.types" size="default" @change="initTableData">
  8. <el-radio-button label="station" v-auth="'heatStation'">
  9. 换热站
  10. </el-radio-button>
  11. <el-radio-button label="loop" v-auth="'loop'">
  12. 环路
  13. </el-radio-button>
  14. </el-radio-group>
  15. </el-form-item> -->
  16. <el-form-item label="环路名称" prop="name">
  17. <el-input v-model="tableData.param.name" placeholder="环路名称" size="default"></el-input>
  18. </el-form-item>
  19. <el-form-item label="环路编号" prop="code">
  20. <el-input v-model="tableData.param.code" placeholder="环路编号" size="default"></el-input>
  21. <!-- <el-select v-model="tableData.param.name" placeholder="环路编号" clearable size="default" style="width: 240px">
  22. <el-option label="已发布" :value="1" />
  23. <el-option label="未发布" :value="0" />
  24. </el-select> -->
  25. </el-form-item>
  26. <el-form-item label="换热站名称" prop="stationName" label-width="90">
  27. <el-input v-model="tableData.param.stationName" placeholder="换热站名称" size="default"></el-input>
  28. </el-form-item>
  29. <el-form-item>
  30. <el-button size="default" type="primary" class="ml10" v-auth="'query'" @click="typeList">
  31. <el-icon>
  32. <ele-Search />
  33. </el-icon>
  34. 查询
  35. </el-button>
  36. <el-button size="default" v-auth="'reset'" @click="resetQuery(queryRef)">
  37. <el-icon>
  38. <ele-Refresh />
  39. </el-icon>
  40. 重置
  41. </el-button>
  42. </el-form-item>
  43. </el-form>
  44. </div>
  45. <el-table :data="tableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="tableData.loading">
  46. <el-table-column type="index" width="55" label="序号" align="center" />
  47. <!-- <el-table-column label="日期" v-col="'key'" prop="key" min-width="120" :show-overflow-tooltip="true" /> -->
  48. <el-table-column :label="tableData.param.types === 'station' ? '换热站' : '环路名称'" v-col="'name'" prop="name" :show-overflow-tooltip="true">
  49. <template #default="{ row }">
  50. <el-button type="text" @click="goPage(row)">
  51. {{ row.name }}
  52. </el-button>
  53. </template>
  54. </el-table-column>
  55. <el-table-column :label="tableData.param.types === 'station' ? '换热站编号' : '环路编号'" v-col="'number'" prop="code" min-width="120" :show-overflow-tooltip="true">
  56. <template #default="{ row }">
  57. {{ row.code }}
  58. </template>
  59. </el-table-column>
  60. <el-table-column label="换热站" v-col="'stationName'" prop="stationName" :show-overflow-tooltip="true"></el-table-column>
  61. <el-table-column label="换热站编号" min-width="100" v-col="'stationCode'" prop="stationCode" :show-overflow-tooltip="true"></el-table-column>
  62. <el-table-column label="一网供水压力" prop="inPressure1" min-width="120" :show-overflow-tooltip="true" />
  63. <el-table-column label="二网供水压力" prop="inPressure2" min-width="120" :show-overflow-tooltip="true" />
  64. <el-table-column label="一网供水温度" prop="inTemperature1" min-width="120" :show-overflow-tooltip="true" />
  65. <el-table-column label="二网供水温度" prop="inTemperature2" min-width="120" :show-overflow-tooltip="true" />
  66. <el-table-column label="一网回水压力" prop="outPressure1" min-width="120" :show-overflow-tooltip="true" />
  67. <el-table-column label="二网回水压力" prop="outPressure2" min-width="120" :show-overflow-tooltip="true" />
  68. <el-table-column label="一网回水温度" prop="outTemperature1" min-width="120" :show-overflow-tooltip="true" />
  69. <el-table-column label="二网回水温度" prop="outTemperature2" min-width="120" :show-overflow-tooltip="true" />
  70. <el-table-column label="供水流量" prop="supplyWaterFlow" min-width="120" :show-overflow-tooltip="true" />
  71. <el-table-column label="回水流量" prop="returnWaterFlow" min-width="120" :show-overflow-tooltip="true" />
  72. <el-table-column label="二网供水流量" prop="secondWaterSupply" min-width="120" :show-overflow-tooltip="true" />
  73. <!-- <el-table-column prop="status" label="状态" width="100" align="center">
  74. <template #default="scope">
  75. <el-tag type="success" size="small" v-if="scope.row.status">已发布</el-tag>
  76. <el-tag type="info" size="small" v-else>未发布</el-tag>
  77. </template>
  78. </el-table-column> -->
  79. </el-table>
  80. <pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="typeList" />
  81. </el-card>
  82. </div>
  83. </template>
  84. <script lang="ts">
  85. import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue';
  86. import { ElMessageBox, ElMessage, FormInstance } from 'element-plus';
  87. import api from '/@/api/loopSupervision';
  88. import { useRouter } from 'vue-router';
  89. export default defineComponent({
  90. name: 'deviceproduct',
  91. setup() {
  92. const addDicRef = ref();
  93. const editDicRef = ref();
  94. const queryRef = ref();
  95. const router = useRouter()
  96. const state = reactive({
  97. ids: [],
  98. tableData: {
  99. data: [{ name: '换热站', key: '2022-10-25', value: 1 }],
  100. total: 0,
  101. loading: false,
  102. param: {
  103. pageNum: 1,
  104. pageSize: 10,
  105. types: 'loop', // 类型 station 换热站 loop环路
  106. stationName: '',
  107. name: '',
  108. code: '',
  109. },
  110. },
  111. });
  112. // 初始化表格数据
  113. const initTableData = () => {
  114. state.tableData.param.pageNum = 1
  115. typeList();
  116. };
  117. const typeList = () => {
  118. state.tableData.loading = true;
  119. api.getLoopRegulation(state.tableData.param).then((res: any) => {
  120. state.tableData.data = res.Data;
  121. state.tableData.total = res.Total;
  122. }).finally(() => (state.tableData.loading = false));
  123. };
  124. // 打开新增产品弹窗
  125. const onOpenAddDic = () => {
  126. editDicRef.value.openDialog();
  127. };
  128. // 打开修改产品弹窗
  129. const onOpenEditDic = (row: any) => {
  130. editDicRef.value.openDialog(row);
  131. };
  132. // 页面加载时
  133. onMounted(() => {
  134. initTableData();
  135. });
  136. /** 重置按钮操作 */
  137. const resetQuery = (formEl: FormInstance | undefined) => {
  138. if (!formEl) return;
  139. formEl.resetFields();
  140. typeList();
  141. };
  142. // 多选框选中数据
  143. const handleSelectionChange = (selection: any) => {
  144. // state.ids = selection.map((item) => item.id);
  145. };
  146. const goPage = (row: any) => {
  147. if (state.tableData.param.types === 'station') {
  148. router.push({
  149. path: '/heating-monitor/loopSupervision/heatStationDetail',
  150. query: {
  151. code: row.code
  152. }
  153. })
  154. } else {
  155. router.push({
  156. path: '/heating-monitor/loopSupervision/loopDetail',
  157. query: {
  158. code: row.code
  159. }
  160. })
  161. }
  162. }
  163. return {
  164. addDicRef,
  165. editDicRef,
  166. queryRef,
  167. onOpenAddDic,
  168. onOpenEditDic,
  169. typeList,
  170. resetQuery,
  171. handleSelectionChange,
  172. ...toRefs(state),
  173. initTableData,
  174. goPage
  175. };
  176. },
  177. });
  178. </script>