Browse Source

Merge branch 'demo_' of http://124.71.196.186:8888/hfxc226/hitch-antd into demo_

whj 2 years ago
parent
commit
a33ea3dc4f

+ 11 - 75
src/api/influxDB/influxDB.js

@@ -1,40 +1,6 @@
 import { axios } from '@/utils/request'
 import { stringify } from 'qs'
 
-/**
- * page func
- * parameter: { }
- * @param parameter
- * @returns {*}
- */
-export function getInfluxDBPage (parameter) {
-  return axios({
-    url: '/influxDB/page?' + stringify(parameter),
-    method: 'get',
-    headers: {
-      'Content-Type': 'application/json;charset=UTF-8'
-    }
-  })
-}
-
-/**
- * add func
- * parameter: { }
- * @param parameter
- * @returns {*}
- */
-export function addInfluxDB (parameter) {
-  return axios({
-    url: '/influxDB',
-    method: 'POST',
-    headers: {
-      'Accept': 'application/json',
-      'Content-Type': 'application/json;charset=UTF-8'
-    },
-    data: parameter
-  })
-}
-
 /**
  * update func
  * parameter: { }
@@ -50,18 +16,16 @@ export function updateInfluxDB (parameter) {
 }
 
 /**
- * fetch single func
+ * update func
  * parameter: { }
  * @param parameter
  * @returns {*}
  */
-export function fetchInfluxDB (parameter) {
+export function updateInfluxDBBatch (parameter) {
   return axios({
-    url: '/influxDB/' + parameter.id,
-    method: 'get',
-    headers: {
-      'Content-Type': 'application/json;charset=UTF-8'
-    }
+    url: '/influxDB/batch',
+    method: 'PUT',
+    data: parameter
   })
 }
 
@@ -71,9 +35,9 @@ export function fetchInfluxDB (parameter) {
  * @param parameter
  * @returns {*}
  */
-export function queryInfluxDB (parameter) {
+export function queryInfluxDBHistory (parameter) {
   return axios({
-    url: '/influxDB?' + stringify(parameter),
+    url: '/influxDB/' + parameter.id + '/' + parameter.type,
     method: 'get',
     headers: {
       'Content-Type': 'application/json;charset=UTF-8'
@@ -81,47 +45,19 @@ export function queryInfluxDB (parameter) {
   })
 }
 
-/**
- * delete batch func
- * parameter: { }
- * @param parameter
- * @returns {*}
- */
-export function deleteInfluxDBs (parameter) {
-  return axios({
-    url: '/influxDB',
-    method: 'DELETE',
-    data: parameter
-  })
-}
-
-/**
- * delete single func
- * parameter: { }
- * @param parameter
- * @returns {*}
- */
-export function deleteInfluxDB (parameter) {
-  return axios({
-    url: '/influxDB/' + parameter.id,
-    method: 'DELETE',
-    data: parameter
-  })
-}
-
 /**
  * export file
  * parameter: { }
  * @param parameter :
- * @returns {*}
+  * @returns {*}
  */
-export function exportInfluxDB (parameter) {
+export function exportInfluxDBHistory (parameter) {
   return axios({
-    url: '/influxDB/export?' + stringify(parameter),
+    url: '/influxDB/export/' + parameter.id + '/' + parameter.type,
     method: 'get',
     headers: {
       'Content-Type': 'application/json;charset=UTF-8'
     },
     responseType: 'blob'
   })
-}
+}

+ 8 - 3
src/views/opc/OpcInfo.vue

@@ -22,12 +22,13 @@
             <template slot="title">
               {{ item.description + '(' + item.time + ')' }}
             </template>
-            <div class="info" @click="handleInfo(item)" @click.right.prevent="handleView(item)">
+<!--            <div class="info" @click="handleInfo(item)" @click.right.prevent="handleView(item)">-->
+            <div class="info" @click="handleInfo(item)">
               <span :style="{'color':item.warnFirstColor}" v-if="(+item.result)<=item.warnFirst&&item.warnFirst!==null">{{ item.result }}</span>
               <span :style="{'color':item.warnSecondColor}" v-else-if="item.warnFirst<(+item.result)&&(+item.result)<item.warnSecond">{{ item.result }}</span>
               <span :style="{'color':item.warnThirdColor}" v-else-if="item.warnThird<(+item.result)&&(+item.result)<item.warnFour">{{ item.result }}</span>
               <span :style="{'color':item.warnFourColor}" v-else-if="(+item.result)>=item.warnFour&&item.warnFirst!==null">{{ item.result }}</span>
-              <span v-else>{{ item.result }}</span>
+              <span v-else>{{ item.result==null?'-':item.result }}</span>
             </div>
           </a-tooltip>
         </VueDragResize>
@@ -224,9 +225,13 @@ export default {
       this.getOpcInfo(this.positionId)
       this.getImg()
     },
-    handleInfo (remoteOpc) {
+    /*handleInfo (remoteOpc) {
       const model = this.$refs.detailLogModal
       model.base(null, { positionNum: remoteOpc.positionNum })
+    },*/
+    handleInfo (remoteOpc) {
+      const model = this.$refs.detailLogModal
+      model.base(remoteOpc)
     },
     handleView (record) {
       fetchRemoteOpc({ id: record.id }).then(res => {

+ 47 - 36
src/views/remote/opc-log/modules/Detail.vue

@@ -11,10 +11,42 @@
     <div class="table-operator" style="margin-bottom: 8px;">
       <a-row>
         <a-col :md="16">
-          <a-date-picker
+          <!--          <a-date-picker
             :format="BaseTool.Date.PICKER_NORM_DATE_PATTERN"
             @change="onChange"
-            v-model="searchDay"/>
+            v-model="searchDay"/>-->
+          <a-select default-value="1" v-model="searchDay" style="width: 120px" @change="onChange">
+            <a-select-option value="1">
+              5分钟
+            </a-select-option>
+            <a-select-option value="2">
+              15分钟
+            </a-select-option>
+            <a-select-option value="3">
+              1小时
+            </a-select-option>
+            <a-select-option value="4">
+              3小时
+            </a-select-option>
+            <a-select-option value="5">
+              6小时
+            </a-select-option>
+            <a-select-option value="6">
+              12小时
+            </a-select-option>
+            <a-select-option value="7">
+              24小时
+            </a-select-option>
+            <a-select-option value="8">
+              2天
+            </a-select-option>
+            <a-select-option value="9">
+              7天
+            </a-select-option>
+            <a-select-option value="10">
+              30天
+            </a-select-option>
+          </a-select>
           <a-button
             style="margin-left: 8px"
             v-if="$auth('remote-opc-logs-export')"
@@ -35,11 +67,11 @@
       <detail-list-item term="描述">{{ model.description }}</detail-list-item>
       <detail-list-item term="系数">{{ model.ratio }}</detail-list-item>
       <detail-list-item term="单位">{{ model.unit }}</detail-list-item>
-      <!--      <detail-list-item term="备注">{{ model.remark }}</detail-list-item>-->
+      <!--      <detail-list-item term="备注">{{ model.remark }}</detail-list-item>
       <detail-list-item term="年">{{ model.year }}</detail-list-item>
       <detail-list-item term="月">{{ model.month }}</detail-list-item>
       <detail-list-item term="日">{{ model.day }}</detail-list-item>
-      <!--      <detail-list-item term="时">{{ model.hour }}</detail-list-item>
+      <detail-list-item term="时">{{ model.hour }}</detail-list-item>
       <detail-list-item term="实时数值">{{ model.result }}</detail-list-item>
       <detail-list-item term="创建人">{{ model.createdUserId }}</detail-list-item>
       <detail-list-item term="更新人">{{ model.updateUserId }}</detail-list-item>
@@ -49,7 +81,7 @@
     <div style="width: 100%">
       <div id="container"></div>
     </div>
-    <a-divider orientation="left">数明细</a-divider>
+    <a-divider orientation="left">数明细</a-divider>
     <div>
       <a-table
         bordered
@@ -66,8 +98,8 @@
 
 <script>
 import { Chart } from '@antv/g2'
-import { exportRemoteOpcLogOneDay, queryRemoteOpcLogByDTO } from '@/api/remote/opc-log'
 import DetailList from '@/components/tools/DetailList'
+import { queryInfluxDBHistory, exportInfluxDBHistory } from '@/api/influxDB/influxDB'
 const DetailListItem = DetailList.Item
 
 export default {
@@ -124,31 +156,12 @@ export default {
     this.map = this.DictCache.getLabelByValueMapByType(this.DictCache.TYPE.REMOTE_OPC)
   },
   methods: {
-    base (record, param) {
+    base (record) {
       this.visible = true
       this.confirmLoading = true
       this.modalTitle = '详情'
-      if (!this.BaseTool.Object.isBlank(record)) {
-        this.model = record
-        if (this.model.dataJsonStr == null) {
-          this.$message.info('无数据')
-        }
-        this.chartsData = JSON.parse(this.model.dataJsonStr)
-        this.getCharts(this.chartsData)
-        this.confirmLoading = false
-      } else {
-        queryRemoteOpcLogByDTO(param).then((res) => {
-          this.model = res.data
-          if (this.model.dataJsonStr == null) {
-            this.$message.info('无数据')
-          }
-          this.chartsData = JSON.parse(this.model.dataJsonStr)
-          this.getCharts(this.chartsData)
-          this.confirmLoading = false
-        }).catch(() => {
-          this.confirmLoading = false
-        })
-      }
+      this.model = record
+      this.onChange(1)
     },
     getCharts (data) {
       this.chart && this.chart.destroy()// 防止点击搜索按钮新增一个
@@ -194,14 +207,12 @@ export default {
       this.chart.point().position('time*value')
       this.chart.render()
     },
-    onChange (date, dateString) {
+    onChange (value) {
       this.confirmLoading = true
-      const param = {}
-      param.positionNum = this.model.positionNum
-      param.year = date.format(this.BaseTool.Date.PICKER_NORM_YEAR)
-      param.month = date.format(this.BaseTool.Date.PICKER_NORM_MONTH_ONE)
-      param.day = date.format(this.BaseTool.Date.PICKER_NORM_DAY_ONE)
-      queryRemoteOpcLogByDTO(param).then((res) => {
+      const parameter = {}
+      parameter.id = this.model.id
+      parameter.type = value
+      queryInfluxDBHistory(parameter).then(res => {
         this.model = res.data
         if (this.model.dataJsonStr == null) {
           this.$message.info('无数据')
@@ -215,7 +226,7 @@ export default {
     },
     doExport () {
       this.confirmLoading = true
-      exportRemoteOpcLogOneDay(this.model).then(file => {
+      exportInfluxDBHistory(this.model).then(file => {
         this.BaseTool.UPLOAD.downLoadExportExcel(file)
         this.confirmLoading = false
       })

+ 29 - 25
src/views/remote/opc/RemoteOpc.vue

@@ -71,18 +71,6 @@
               icon="download"
               @click="doAddAll">全部采集
             </a-button>
-<!--            <a-button
-              style="margin-left: 8px"
-              type="primary"
-              icon="download"
-              @click="doTestAdd">测试写入
-            </a-button>
-            <a-button
-              style="margin-left: 8px"
-              type="primary"
-              icon="download"
-              @click="doTestSelect">测试查询
-            </a-button>-->
             <a-dropdown v-action:edit v-if="selectedRowKeys.length > 0 && $auth('remote-opcs-del')">
               <a-menu slot="overlay">
                 <a-popconfirm title="是否要删除所选数据?" @confirm="batchDelete()">
@@ -147,6 +135,21 @@
               :type="2"
               title="是否要删除该条数据?"
               @confirm="batchDelete(record.id)">删除</operation-button>
+            <a-divider type="vertical" />
+            <a
+              style="margin-left: 8px"
+              @click="doTestAdd(record)">测试写入
+            </a>
+            <a-divider type="vertical" />
+            <a
+              style="margin-left: 8px"
+              @click="doTestAddBatch(record)">测试批量写入
+            </a>
+            <a-divider type="vertical" />
+            <a
+              style="margin-left: 8px"
+              @click="doTestSelect(record)">测试查询
+            </a>
           </template>
         </span>
       </s-table>
@@ -171,7 +174,7 @@ import {
 } from '@/api/remote/opc'
 
 import ImportFormAdd from './modules/ImportFormAdd'
-import { addInfluxDB, queryInfluxDB } from '@/api/influxDB/influxDB'
+import { updateInfluxDB, updateInfluxDBBatch, queryInfluxDBHistory } from '@/api/influxDB/influxDB'
 
 export default {
   name: 'RemoteOpcList',
@@ -381,21 +384,22 @@ export default {
         this.$message.info('已添加,100秒后自动采集')
       })
     },
-    doTestAdd () {
-      const parameter = {
-        ...this.queryParam,
-        sbIds: this.selectedRowKeys
-      }
-      addInfluxDB(parameter).then(res => {
+    doTestAdd (record) {
+      updateInfluxDB(record).then(res => {
         this.$message.info('已添加')
       })
     },
-    doTestSelect () {
-      const parameter = {
-        ...this.queryParam,
-        sbIds: this.selectedRowKeys
-      }
-      queryInfluxDB(parameter).then(res => {
+    doTestAddBatch (record) {
+      updateInfluxDBBatch(record).then(res => {
+        this.$message.info('已批量添加')
+      })
+    },
+    doTestSelect (record) {
+      const parameter = {}
+      parameter.id = record.id
+      parameter.type = 1
+      queryInfluxDBHistory(parameter).then(res => {
+        console.log(res.data)
         this.$message.info('已查询')
       })
     },