Procházet zdrojové kódy

Merge remote-tracking branch 'origin/dev_v1.0.0' into dev_v1.0.0

秦国才 před 1 rokem
rodič
revize
0a4f819fa3

+ 1 - 1
ruoyi-system/src/main/resources/mapper/BerthingPointMapper.xml

@@ -57,7 +57,7 @@
                 and a.site_id= #{berthingPointQuery.siteId}
                 and a.site_id= #{berthingPointQuery.siteId}
             </if>
             </if>
         </where>
         </where>
-        and is_del = 0
+        and a.is_del = 0
         ORDER BY create_time DESC
         ORDER BY create_time DESC
     </select>
     </select>
 
 

+ 7 - 0
ruoyi-ui/src/api/site/site.js

@@ -31,6 +31,13 @@ export function updateSite(data) {
   })
   })
 }
 }
 
 
+export function deleteSite(id) {
+  return request({
+    url: `/site/delete/${id}`,
+    method: 'delete',
+  })
+}
+
 export function getConfig(id) {
 export function getConfig(id) {
   return request({
   return request({
     url: `/site/queryConfig/${id}`,
     url: `/site/queryConfig/${id}`,

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 0 - 0
ruoyi-ui/src/assets/icons/svg/manual.svg


+ 58 - 0
ruoyi-ui/src/components/SiteSelector/index.vue

@@ -0,0 +1,58 @@
+<template>
+  <el-select :value="siteId" @change="siteChangeHandler" placeholder="请选择站点">
+    <el-option
+      v-for="item in siteList"
+      :key="item.siteId"
+      :label="item.siteName"
+      :value="item.siteId">
+    </el-option>
+  </el-select>
+</template>
+
+<script>
+import { listSite } from "@/api/site/site";
+import { getSiteId, setSiteId } from "@/utils/cache/site";
+
+export default {
+  data() {
+    return {
+      siteId: '',
+      siteList: [],
+    }
+  },
+  mounted() {
+    this.getSiteList();
+  },
+  methods: {
+    getSiteList() {
+      listSite({ page: 1, size: 1000 }).then(response => {
+        const siteList = response.data.records || [];
+        if (siteList.length === 0) {
+          return;
+        }
+        this.siteList = siteList;
+        const cachedSiteId = getSiteId();
+
+        if (siteList.map(({siteId}) => siteId).includes(cachedSiteId)) {
+          this.siteId = cachedSiteId;
+        } else {
+          this.siteId = siteList[0].siteId;
+        }
+      });
+    },
+    siteChangeHandler(v) {
+      setSiteId(v);
+      this.siteId = v;
+    }
+  },
+  watch: {
+    siteId(v) {
+      this.$emit('change', v);
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 11 - 0
ruoyi-ui/src/utils/cache/site.js

@@ -0,0 +1,11 @@
+export function setSiteId(id) {
+  sessionStorage.setItem('query_site_id', id);
+}
+
+export function getSiteId() {
+  return Number.parseInt(sessionStorage.getItem('query_site_id')) || undefined;
+}
+
+export function removeSiteId() {
+  return sessionStorage.removeItem('query_site_id');
+}

+ 9 - 26
ruoyi-ui/src/views/analysis/task/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="siteId" placeholder="请选择站点" @change="handleSiteChange">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="siteIdHandler" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -87,14 +80,16 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listSite } from "@/api/site/site";
 import { listAchievements, taskAction } from "@/api/analysis/achievement";
 import { listAchievements, taskAction } from "@/api/analysis/achievement";
+import SiteSelector from '@/components/SiteSelector';
 
 
 export default {
 export default {
+  components: {
+    SiteSelector,
+  },
   data() {
   data() {
     return {
     return {
-      siteId: '',
-      siteList: [],
+      siteId: 0,
       queryParams: {
       queryParams: {
         page: 1,
         page: 1,
         size: 10,
         size: 10,
@@ -108,22 +103,10 @@ export default {
       list: []
       list: []
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.siteId = this.siteList[0].siteId;
-            this.getList();
-          }
-        }
-      ).catch(() => {
-        this.loading = false;
-      });
+    siteIdHandler(v) {
+      this.siteId = v;
+      this.handleQuery();
     },
     },
     handleQuery() {
     handleQuery() {
       this.getList();
       this.getList();

ruoyi-ui/src/views/site/site/manual.vue → ruoyi-ui/src/views/analysis/task/result/manual.vue


+ 13 - 0
ruoyi-ui/src/views/analysis/task/result/simulation.vue

@@ -4,6 +4,10 @@
     <div class="realtime-foot">
     <div class="realtime-foot">
       <div class="realtime-foot-title">测流成果</div>
       <div class="realtime-foot-title">测流成果</div>
       <div class="realtime-foot-actions">
       <div class="realtime-foot-actions">
+        <div class="realtime-foot-action">
+          <svg-icon icon-class="manual" class-name="realtime-foot-action-icon" @click="handleManualMeasure" />
+          <div class="realtime-foot-action-label">手动测流</div>
+        </div>
         <div class="realtime-foot-action" v-if="isplay">
         <div class="realtime-foot-action" v-if="isplay">
           <svg-icon icon-class="realtime-stop" class-name="realtime-foot-action-icon" @click="stop" />
           <svg-icon icon-class="realtime-stop" class-name="realtime-foot-action-icon" @click="stop" />
           <div class="realtime-foot-action-label">中止回放</div>
           <div class="realtime-foot-action-label">中止回放</div>
@@ -18,6 +22,8 @@
         <div class="realtime-foot-time-value">{{ task.createTime }}</div>
         <div class="realtime-foot-time-value">{{ task.createTime }}</div>
       </div>
       </div>
     </div>
     </div>
+
+    <Manual ref="manual" />
   </div>
   </div>
 </template>
 </template>
 
 
@@ -27,8 +33,12 @@ import resize from '@/utils/resize'
 import { getConfig } from '@/api/site/site'
 import { getConfig } from '@/api/site/site'
 import { getSiteSection } from '@/api/site/berthing'
 import { getSiteSection } from '@/api/site/berthing'
 import CarSvg from '@/assets/images/car.svg'
 import CarSvg from '@/assets/images/car.svg'
+import Manual from './manual';
 
 
 export default {
 export default {
+  components: {
+    Manual,
+  },
   mixins: [resize],
   mixins: [resize],
   props: {
   props: {
     siteId: Number | String,
     siteId: Number | String,
@@ -80,6 +90,9 @@ export default {
         this.setOptions();
         this.setOptions();
       })
       })
     },
     },
+    handleManualMeasure() {
+      this.$refs.manual.open({ siteId: this.siteId });
+    },
     setOptions() {
     setOptions() {
       if (!this.chart || !this.config || this.sections.length === 0 || this.positions.length === 0) {
       if (!this.chart || !this.config || this.sections.length === 0 || this.positions.length === 0) {
         return;
         return;

+ 3 - 25
ruoyi-ui/src/views/analysis/water-flow/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="queryParams.siteId" placeholder="请选择站点">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="id => queryParams.siteId = id" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="12">
             <el-col :span="12">
@@ -59,8 +52,8 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listSite } from "@/api/site/site";
 import { parseTime } from '@/utils/ruoyi'
 import { parseTime } from '@/utils/ruoyi'
+import SiteSelector from '@/components/SiteSelector';
 import Chart from './chart'
 import Chart from './chart'
 import Table from './table'
 import Table from './table'
 
 
@@ -73,13 +66,13 @@ const initDateRange = () => {
 
 
 export default {
 export default {
   components: {
   components: {
+    SiteSelector,
     Chart,
     Chart,
     Table,
     Table,
   },
   },
   data() {
   data() {
     const dateRange = initDateRange(1);
     const dateRange = initDateRange(1);
     return {
     return {
-      siteList: [],
       dateRange: dateRange,
       dateRange: dateRange,
       queryParams: {
       queryParams: {
         siteId: 0,
         siteId: 0,
@@ -90,9 +83,6 @@ export default {
       loading: true,
       loading: true,
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
     handleQuery() {
     handleQuery() {
       if (this.mode === 'chart') {
       if (this.mode === 'chart') {
@@ -107,18 +97,6 @@ export default {
       this.queryParams.startTime = dateRange[0]
       this.queryParams.startTime = dateRange[0]
       this.queryParams.endTime = dateRange[1]
       this.queryParams.endTime = dateRange[1]
     },
     },
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.queryParams.siteId = this.siteList[0].siteId;
-          }
-        }
-      ).finally(() => {
-        this.loading = false;
-      });
-    },
     dateRangeChangeHandler(dateRange) {
     dateRangeChangeHandler(dateRange) {
       this.queryParams.startTime = dateRange[0];
       this.queryParams.startTime = dateRange[0];
       this.queryParams.endTime = dateRange[1];
       this.queryParams.endTime = dateRange[1];

+ 12 - 0
ruoyi-ui/src/views/analysis/water-time/chart.vue

@@ -99,6 +99,18 @@ export default {
             },
             },
             padding: [5, 10]
             padding: [5, 10]
           },
           },
+          dataZoom: [
+            {
+              type: 'slider',
+              xAxisIndex: 0,
+              filterMode: 'none'
+            },
+            {
+              type: 'inside',
+              xAxisIndex: 0,
+              filterMode: 'none'
+            },
+          ],
           series: [{
           series: [{
             name: '水位',
             name: '水位',
             itemStyle: {
             itemStyle: {

+ 3 - 25
ruoyi-ui/src/views/analysis/water-time/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="queryParams.siteId" placeholder="请选择站点">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="id => queryParams.siteId = id" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -71,8 +64,8 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listSite } from "@/api/site/site";
 import { parseTime } from '@/utils/ruoyi'
 import { parseTime } from '@/utils/ruoyi'
+import SiteSelector from '@/components/SiteSelector';
 import Chart from './chart'
 import Chart from './chart'
 import Table from './table'
 import Table from './table'
 
 
@@ -106,13 +99,13 @@ const initDateRangeByType = (type) => {
 
 
 export default {
 export default {
   components: {
   components: {
+    SiteSelector,
     Chart,
     Chart,
     Table,
     Table,
   },
   },
   data() {
   data() {
     const dateRange = initDateRangeByType(1);
     const dateRange = initDateRangeByType(1);
     return {
     return {
-      siteList: [],
       dateRange: dateRange,
       dateRange: dateRange,
       queryParams: {
       queryParams: {
         siteId: 0,
         siteId: 0,
@@ -133,9 +126,6 @@ export default {
       ]
       ]
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
     handleQuery() {
     handleQuery() {
       if (this.mode === 'chart') {
       if (this.mode === 'chart') {
@@ -151,18 +141,6 @@ export default {
       this.queryParams.startTime = dateRange[0]
       this.queryParams.startTime = dateRange[0]
       this.queryParams.endTime = dateRange[1]
       this.queryParams.endTime = dateRange[1]
     },
     },
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.queryParams.siteId = this.siteList[0].siteId;
-          }
-        }
-      ).finally(() => {
-        this.loading = false;
-      });
-    },
     dateRangeChangeHandler(dateRange) {
     dateRangeChangeHandler(dateRange) {
       this.queryParams.startTime = dateRange[0];
       this.queryParams.startTime = dateRange[0];
       this.queryParams.endTime = dateRange[1];
       this.queryParams.endTime = dateRange[1];

+ 1 - 2
ruoyi-ui/src/views/site/plain-point/chart-list.vue

@@ -112,7 +112,6 @@ export default {
           containLabel: true
           containLabel: true
         },
         },
         tooltip: {
         tooltip: {
-          show: false,
           trigger: 'axis',
           trigger: 'axis',
           axisPointer: {
           axisPointer: {
             type: 'cross'
             type: 'cross'
@@ -236,7 +235,7 @@ export default {
           },
           },
         });
         });
       })
       })
-      console.log(options)
+      this.chart.clear();
       this.chart.setOption(options);
       this.chart.setOption(options);
     }
     }
   }
   }

+ 6 - 30
ruoyi-ui/src/views/site/plain-point/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="siteId" placeholder="请选择站点" @change="handleSiteChange">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="handleSiteChange" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -37,7 +30,7 @@
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
-<!--            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>-->
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
@@ -50,18 +43,19 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { getConfig, listSite } from "@/api/site/site";
+import { getConfig } from "@/api/site/site";
 import { deletePlainPoint, getSiteSection, listPlainPoint } from "@/api/site/berthing";
 import { deletePlainPoint, getSiteSection, listPlainPoint } from "@/api/site/berthing";
+import SiteSelector from '@/components/SiteSelector';
 import ChartList from './chart-list';
 import ChartList from './chart-list';
 
 
 export default {
 export default {
   components: {
   components: {
-    ChartList
+    SiteSelector,
+    ChartList,
   },
   },
   data() {
   data() {
     return {
     return {
       siteId: '',
       siteId: '',
-      siteList: [],
       plain: {
       plain: {
         wlevelmax: 0,
         wlevelmax: 0,
         wlevelmin: 0,
         wlevelmin: 0,
@@ -77,29 +71,11 @@ export default {
       list: []
       list: []
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
     handleQuery() {
     handleQuery() {
       this.getList()
       this.getList()
     },
     },
     resetQuery() {},
     resetQuery() {},
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.siteId = this.siteList[0].siteId;
-            this.getList();
-            this.loadConfig();
-            this.loadSection();
-          }
-        }
-      ).catch(() => {
-        this.loading = false;
-      });
-    },
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
       listPlainPoint({ ...this.queryParams, siteId: this.siteId }).then(response => {
       listPlainPoint({ ...this.queryParams, siteId: this.siteId }).then(response => {

+ 3 - 1
ruoyi-ui/src/views/site/plain-time/chart-list.vue

@@ -38,6 +38,7 @@ export default {
         return;
         return;
       }
       }
       const { sections, wlevelmax, wlevelmin, list } = plain;
       const { sections, wlevelmax, wlevelmin, list } = plain;
+      const xAxisData = sections.map(({ x }) => x);
       const seriesData = sections.map(({ x, y }) => ([x, y]));
       const seriesData = sections.map(({ x, y }) => ([x, y]));
       const options = {
       const options = {
         xAxis: {
         xAxis: {
@@ -183,7 +184,7 @@ export default {
               }
               }
             }
             }
           },
           },
-          data: new Array(seriesData.length).fill(wlevel),
+          data: xAxisData.map((x) => [x, wlevel]),
           type: 'line',
           type: 'line',
           markLine: {
           markLine: {
             symbol: 'none',
             symbol: 'none',
@@ -202,6 +203,7 @@ export default {
           },
           },
         });
         });
       })
       })
+      this.chart.clear();
       this.chart.setOption(options);
       this.chart.setOption(options);
     }
     }
   }
   }

+ 2 - 1
ruoyi-ui/src/views/site/plain-time/chart.vue

@@ -38,6 +38,7 @@ export default {
         return;
         return;
       }
       }
       const { sections, wlevelmax, wlevelmin, wlevel } = plain;
       const { sections, wlevelmax, wlevelmin, wlevel } = plain;
+      const xAxisData = sections.map(({ x }) => x);
       const seriesData = sections.map(({ x, y }) => [x, y]);
       const seriesData = sections.map(({ x, y }) => [x, y]);
       const options = {
       const options = {
         xAxis: {
         xAxis: {
@@ -171,7 +172,7 @@ export default {
           lineStyle: {
           lineStyle: {
             width: 0,
             width: 0,
           },
           },
-          data: new Array(seriesData.length).fill(wlevel),
+          data: xAxisData.map((x) => [x, wlevel]),
           type: 'line',
           type: 'line',
           markLine: {
           markLine: {
             symbol: 'none',
             symbol: 'none',

+ 6 - 30
ruoyi-ui/src/views/site/plain-time/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="siteId" placeholder="请选择站点" @change="handleSiteChange">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="handleSiteChange" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -48,7 +41,7 @@
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
-<!--            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>-->
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
@@ -61,18 +54,19 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { getConfig, listSite } from "@/api/site/site";
+import { getConfig } from "@/api/site/site";
 import { deletePlainTime, getSiteSection, listPlainTime } from "@/api/site/berthing";
 import { deletePlainTime, getSiteSection, listPlainTime } from "@/api/site/berthing";
+import SiteSelector from '@/components/SiteSelector';
 import ChartList from './chart-list';
 import ChartList from './chart-list';
 
 
 export default {
 export default {
   components: {
   components: {
-    ChartList
+    SiteSelector,
+    ChartList,
   },
   },
   data() {
   data() {
     return {
     return {
       siteId: '',
       siteId: '',
-      siteList: [],
       plain: {
       plain: {
         wlevelmax: 0,
         wlevelmax: 0,
         wlevelmin: 0,
         wlevelmin: 0,
@@ -88,29 +82,11 @@ export default {
       list: []
       list: []
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
     handleQuery() {
     handleQuery() {
       this.getList()
       this.getList()
     },
     },
     resetQuery() {},
     resetQuery() {},
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.siteId = this.siteList[0].siteId;
-            this.getList();
-            this.loadConfig();
-            this.loadSection();
-          }
-        }
-      ).catch(() => {
-        this.loading = false;
-      });
-    },
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
       listPlainTime({ ...this.queryParams, siteId: this.siteId }).then(response => {
       listPlainTime({ ...this.queryParams, siteId: this.siteId }).then(response => {

+ 1 - 0
ruoyi-ui/src/views/site/plain-water/chart-list.vue

@@ -229,6 +229,7 @@ export default {
           },
           },
         });
         });
       })
       })
+      this.chart.clear();
       this.chart.setOption(options);
       this.chart.setOption(options);
     }
     }
   }
   }

+ 5 - 28
ruoyi-ui/src/views/site/plain-water/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="siteId" placeholder="请选择站点" @change="handleSiteChange">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="handleSiteChange" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -39,7 +32,7 @@
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
           <template slot-scope="scope">
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
             <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
-<!--            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>-->
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
@@ -54,11 +47,13 @@
 <script>
 <script>
 import { getConfig, listSite } from "@/api/site/site";
 import { getConfig, listSite } from "@/api/site/site";
 import { deletePlainWater, getSiteSection, listPlainWater } from "@/api/site/berthing";
 import { deletePlainWater, getSiteSection, listPlainWater } from "@/api/site/berthing";
+import SiteSelector from '@/components/SiteSelector';
 import ChartList from './chart-list';
 import ChartList from './chart-list';
 
 
 export default {
 export default {
   components: {
   components: {
-    ChartList
+    SiteSelector,
+    ChartList,
   },
   },
   data() {
   data() {
     return {
     return {
@@ -79,29 +74,11 @@ export default {
       list: []
       list: []
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
     handleQuery() {
     handleQuery() {
       this.getList()
       this.getList()
     },
     },
     resetQuery() {},
     resetQuery() {},
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.siteId = this.siteList[0].siteId;
-            this.getList();
-            this.loadConfig();
-            this.loadSection();
-          }
-        }
-      ).catch(() => {
-        this.loading = false;
-      });
-    },
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
       listPlainWater({ ...this.queryParams, siteId: this.siteId }).then(response => {
       listPlainWater({ ...this.queryParams, siteId: this.siteId }).then(response => {

+ 7 - 26
ruoyi-ui/src/views/site/section-history/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="siteId" placeholder="请选择站点" @change="getList">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="siteIdHandler" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -61,20 +54,20 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listSite } from "@/api/site/site";
 import { listSection, deleteSection } from "@/api/site/berthing";
 import { listSection, deleteSection } from "@/api/site/berthing";
+import SiteSelector from '@/components/SiteSelector';
 import ChartList from './chart-list';
 import ChartList from './chart-list';
 import SectionChart from './chart';
 import SectionChart from './chart';
 
 
 export default {
 export default {
   components: {
   components: {
+    SiteSelector,
     ChartList,
     ChartList,
     SectionChart,
     SectionChart,
   },
   },
   data() {
   data() {
     return {
     return {
       siteId: '',
       siteId: '',
-      siteList: [],
       queryParams: {
       queryParams: {
         page: 1,
         page: 1,
         size: 1000,
         size: 1000,
@@ -86,27 +79,15 @@ export default {
       sectionChartVisible: false,
       sectionChartVisible: false,
     }
     }
   },
   },
-  created() {
-    this.init();
-  },
   methods: {
   methods: {
+    siteIdHandler(v) {
+      this.siteId = v;
+      this.handleQuery();
+    },
     handleQuery() {
     handleQuery() {
       this.getList()
       this.getList()
     },
     },
     resetQuery() {},
     resetQuery() {},
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.siteId = this.siteList[0].siteId;
-            this.getList();
-          }
-        }
-      ).catch(() => {
-        this.loading = false;
-      });
-    },
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
       listSection({ ...this.queryParams, siteId: this.siteId }).then(response => {
       listSection({ ...this.queryParams, siteId: this.siteId }).then(response => {

+ 9 - 25
ruoyi-ui/src/views/site/section/index.vue

@@ -7,14 +7,7 @@
           <el-row :gutter="30">
           <el-row :gutter="30">
             <el-col :span="6">
             <el-col :span="6">
               <el-form-item label="选择站点">
               <el-form-item label="选择站点">
-                <el-select v-model="siteId" placeholder="请选择站点" @change="getList">
-                  <el-option
-                    v-for="item in siteList"
-                    :key="item.siteId"
-                    :label="item.siteName"
-                    :value="item.siteId">
-                  </el-option>
-                </el-select>
+                <SiteSelector @change="siteIdHandler" />
               </el-form-item>
               </el-form-item>
             </el-col>
             </el-col>
             <el-col :span="6">
             <el-col :span="6">
@@ -53,18 +46,18 @@
 </template>
 </template>
 
 
 <script>
 <script>
-import { listSite } from "@/api/site/site";
-import { getSiteSection, deleteSection } from "@/api/site/berthing";
+import { getSiteSection } from "@/api/site/berthing";
+import SiteSelector from '@/components/SiteSelector';
 import SectionChart from './chart';
 import SectionChart from './chart';
 
 
 export default {
 export default {
   components: {
   components: {
-    SectionChart
+    SiteSelector,
+    SectionChart,
   },
   },
   data() {
   data() {
     return {
     return {
       siteId: '',
       siteId: '',
-      siteList: [],
       queryParams: {
       queryParams: {
         page: 1,
         page: 1,
         size: 1000,
         size: 1000,
@@ -79,23 +72,14 @@ export default {
     this.init();
     this.init();
   },
   },
   methods: {
   methods: {
+    siteIdHandler(v) {
+      this.siteId = v;
+      this.handleQuery();
+    },
     handleQuery() {
     handleQuery() {
       this.getList()
       this.getList()
     },
     },
     resetQuery() {},
     resetQuery() {},
-    init() {
-      this.loading = true;
-      listSite({ page: 1, size: 1000 }).then(response => {
-          this.siteList = response.data.records || [];
-          if (this.siteList.length > 0) {
-            this.siteId = this.siteList[0].siteId;
-            this.getList();
-          }
-        }
-      ).catch(() => {
-        this.loading = false;
-      });
-    },
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
       getSiteSection(this.siteId).then(response => {
       getSiteSection(this.siteId).then(response => {

+ 12 - 12
ruoyi-ui/src/views/site/site/add.vue

@@ -226,18 +226,18 @@ export default {
         contactPhone: [
         contactPhone: [
           { required: true, message: "联系人电话不能为空", trigger: "blur" }
           { required: true, message: "联系人电话不能为空", trigger: "blur" }
         ],
         ],
-        videoUrl: [
-          { required: true, message: "摄像头IP地址不能为空", trigger: "blur" }
-        ],
-        videoPort: [
-          { required: true, message: "摄像头端口不能为空", trigger: "blur" }
-        ],
-        videoUser: [
-          { required: true, message: "摄像头用户名不能为空", trigger: "blur" }
-        ],
-        videoPwd: [
-          { required: true, message: "摄像头密码不能为空", trigger: "blur" }
-        ],
+        // videoUrl: [
+        //   { required: true, message: "摄像头IP地址不能为空", trigger: "blur" }
+        // ],
+        // videoPort: [
+        //   { required: true, message: "摄像头端口不能为空", trigger: "blur" }
+        // ],
+        // videoUser: [
+        //   { required: true, message: "摄像头用户名不能为空", trigger: "blur" }
+        // ],
+        // videoPwd: [
+        //   { required: true, message: "摄像头密码不能为空", trigger: "blur" }
+        // ],
       },
       },
       siteTypeOptions: [
       siteTypeOptions: [
         { value: 1, label: '流量站' }
         { value: 1, label: '流量站' }

+ 11 - 27
ruoyi-ui/src/views/site/site/index.vue

@@ -89,24 +89,9 @@
         <el-table-column label="行政区域" prop="adminRegion" />
         <el-table-column label="行政区域" prop="adminRegion" />
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
           <template slot-scope="scope">
           <template slot-scope="scope">
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-edit"
-              @click="handleUpdate(scope.row)"
-            >编辑</el-button>
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-setting"
-              @click="handleConfig(scope.row)"
-            >参数设置</el-button>
-            <el-button
-              size="mini"
-              type="text"
-              icon="el-icon-place"
-              @click="handleManualMeasure(scope.row)"
-            >手动加测</el-button>
+            <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
+            <el-button size="mini" type="text" icon="el-icon-setting" @click="handleConfig(scope.row)">参数设置</el-button>
+            <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
           </template>
           </template>
         </el-table-column>
         </el-table-column>
       </el-table>
       </el-table>
@@ -118,20 +103,14 @@
         :limit.sync="queryParams.size"
         :limit.sync="queryParams.size"
         @pagination="getList"
         @pagination="getList"
       />
       />
-
-      <Manual ref="manual" />
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
-import { listSite } from "@/api/site/site";
-import Manual from './manual';
+import { listSite, deleteSite } from "@/api/site/site";
 
 
 export default {
 export default {
-  components: {
-    Manual,
-  },
   data() {
   data() {
     return {
     return {
       queryParams: {
       queryParams: {
@@ -184,8 +163,13 @@ export default {
     handleConfig(site) {
     handleConfig(site) {
       this.$router.push(`/site/site/config/${site.siteId}`);
       this.$router.push(`/site/site/config/${site.siteId}`);
     },
     },
-    handleManualMeasure(site) {
-      this.$refs.manual.open(site);
+    handleDelete(plain) {
+      this.$modal.confirm('是否确认删除站点名称为"' + plain.siteName + '"的数据项?').then(function() {
+        return deleteSite(plain.siteId);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
     },
     },
   }
   }
 }
 }

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů