Prechádzať zdrojové kódy

文件传输接口集成

liling 1 rok pred
rodič
commit
4212423bbe

+ 1 - 1
public/config.js

@@ -4,7 +4,7 @@ STATIC_CONFIG.lowpowerUrl = 'http://192.168.1.224:9910/#/detection'
 STATIC_CONFIG.golang = 'http://127.0.0.1:8006'
 // 后台服务接口地址
 //STATIC_CONFIG.proxyUrl = 'http://192.168.1.236:8080'
-STATIC_CONFIG.proxyUrl = 'http://1.14.75.75:7070'
+STATIC_CONFIG.proxyUrl = 'http://192.168.1.236:7070'
 // 添加配置代理ip
 // 首页资源
 // STATIC_CONFIG.logo = ''

+ 11 - 2
src/views/device/components/ModelFormCommandOpt104.vue

@@ -11,7 +11,7 @@
       <!-- label-width 设置了:label 和 input 就不会换行 -->
       <el-form ref="modelYaoKongOpt" :model="modelYaoKongOpt" label-width="30px">
         <el-form-item prop="p1">
-          <el-radio-group v-model="modelYaoKongOpt.p1">
+          <el-radio-group v-model="modelYaoKongOpt.p1" :disabled="inputvalueFlag">
             <el-radio label="1">分</el-radio>
             <el-radio label="2">合</el-radio>
           </el-radio-group>
@@ -228,6 +228,7 @@ export default {
       // 直控执行
       this.yaoKongCommand.result3 = 0
       this.yaoKongCommand.result3Text = '进行中...'
+      this.inputvalueFlag = true
       var urlencoded = new URLSearchParams()
       urlencoded.append('stage', 'execute')
       urlencoded.append('tag', this.modelParames.modelFormData.iec104)
@@ -235,7 +236,9 @@ export default {
       postData(`/iec104/master/${this.modelParames.curPlanId}/ctrl`, urlencoded).then((res) => {
         this.yaoKongCommand.result3 = 1
         this.yaoKongCommand.result3Text = '执行成功'
+        this.inputvalueFlag = false
       }).catch((_err) => {
+        this.inputvalueFlag = false
         this.yaoKongCommand.result3 = 2
         this.yaoKongCommand.result3Text = '执行失败!'
         const that = this
@@ -251,6 +254,7 @@ export default {
       // 预控
       this.yaoKongCommand.result = 0 // 禁用本身,禁用遥控
       this.yaoKongCommand.resultText = '进行中...'
+      this.inputvalueFlag = true
       var urlencoded = new URLSearchParams()
       urlencoded.append('stage', 'select')
       urlencoded.append('tag', this.modelParames.modelFormData.iec104)
@@ -259,6 +263,7 @@ export default {
         this.yaoKongCommand.result = 1 // 可进行遥控
         this.yaoKongCommand.resultText = '执行成功'
       }).catch((_err) => {
+        this.inputvalueFlag = false
         this.yaoKongCommand.result = 2
         this.yaoKongCommand.resultText = '执行失败!'
         const that = this
@@ -279,11 +284,13 @@ export default {
       urlencoded.append('value', this.modelYaoKongOpt.p1 !== '1')
       postData(`/iec104/master/${this.modelParames.curPlanId}/ctrl`, urlencoded).then((res) => {
         // 操作成功
+        this.inputvalueFlag = false
         this.yaoKongCommand.result = -1
         this.yaoKongCommand.resultText = '未执行'
         this.yaoKongCommand.result2 = 1
         this.yaoKongCommand.result2Text = '执行成功!'
       }).catch((_err) => {
+        this.inputvalueFlag = false
         this.yaoKongCommand.result2 = 2 // 恢复本身
         this.yaoKongCommand.result2Text = '执行失败!'
         this.yaoKongCommand.result = -1 // 恢复预控
@@ -300,11 +307,13 @@ export default {
       urlencoded.append('value', this.modelYaoKongOpt.p1 !== '1')
       postData(`/iec104/master/${this.modelParames.curPlanId}/ctrl`, urlencoded).then((res) => {
         // 操作成功
+        this.inputvalueFlag = false
         this.yaoKongCommand.result = -1
         this.yaoKongCommand.resultText = '未执行'
         this.yaoKongCommand.result2 = -1
         this.yaoKongCommand.result2Text = '需先进行预控'
       }).catch((_err) => {
+        this.inputvalueFlag = false
         this.yaoKongCommand.result2 = 2 // 恢复本身
         this.yaoKongCommand.result2Text = '执行失败!'
         this.yaoKongCommand.result = -1 // 恢复预控
@@ -411,7 +420,7 @@ export default {
       this.yaoTiaoCommnad.result2 = 0
       this.yaoTiaoCommnad.result2Text = '执行中'
       this.yaoTiaoCommnad.result = -1
-      this.inputvalueFlag = true
+      // this.inputvalueFlag = true
       var urlencoded = new URLSearchParams()
       urlencoded.append('stage', 'execute')
       urlencoded.append('tag', this.modelParames.modelFormData.iec104)

+ 16 - 2
src/views/device/components/ModelReport_master104.vue

@@ -25,7 +25,7 @@
       </div>
       <div class="right">
         <div class="export">
-          <a target="_blank" :href="`${APP_BASE_API}/test/execute/${reportParames.curPlanId}/message.xls`"><el-button icon="el-icon-download" class="light-button" size="small">导出</el-button></a>
+          <a target="_blank" :href="`/test/execute/${reportParames.curPlanId}/message.xls`"><el-button icon="el-icon-download" class="light-button" size="small">导出</el-button></a>
         </div>
         <div class="refresh">
           <el-button class="light-button" icon="el-icon-refresh-left" size="small" @click="refreshReport({page:paginationNumber-1,limit:pageLimit},true)">刷新</el-button>
@@ -100,7 +100,6 @@ import { mapGetters } from 'vuex'
 import { delRecord, download, httpGet } from '@/api/common-action'
 import clipboard from '@/directive/clipboard/index.js'
 import Pagination from '@/components/Pagination'
-
 export default {
   name: 'ModelReport',
   directives: {
@@ -119,6 +118,7 @@ export default {
   data() {
     return {
       APP_BASE_API: window.STATIC_CONFIG.proxyUrl,
+      showFileTransferOpt104ModelForm: false,
       // 报文表格数据
       deviceReportData: [
         {
@@ -289,6 +289,16 @@ export default {
         duration: 1500,
         offset: window.screen.height / 3
       })
+    },
+    closeModel(modelName, modelShow) {
+      switch (modelName) {
+        case 'ModelFormFileTransferOpt104':
+          this.showFileTransferOpt104ModelForm = false
+          break
+        default:
+          console.log('未获取到 modelName')
+          break
+      }
     }
   }
 }
@@ -326,6 +336,10 @@ export default {
     width: auto;
     justify-content: right;
     padding-bottom: 20px;
+    .filetransfer{
+      float: left;
+      width: 100px;
+    }
     .export{
       float: left;
       width: 70px;

+ 27 - 4
src/views/device/tables/Example.vue

@@ -33,6 +33,9 @@
             >刷新</el-button>
           </div>
           <div class="check-resaults">
+            <el-button class="light-button" icon="el-icon-file" size="mini" @click="openFileTransfer()">文件传输</el-button>
+          </div>
+          <div class="check-resaults">
             <el-button
               icon="el-icon-document"
               class="light-button"
@@ -73,8 +76,9 @@
               <span :style="{'color':scope.row.stateStyle}">{{ scope.row.state }}</span>
             </template>
           </el-table-column>
-          <el-table-column prop="ruleName" label="测试规则" width="135px" />
-          <el-table-column prop="duration" label="执行时间" width="135px" />
+          <el-table-column v-if="false" prop="ruleName" label="测试规则" width="135px" />
+          <el-table-column prop="duration" label="持续时间(ms)" width="135px" />
+          <el-table-column prop="occur" label="执行时间(ms)" width="135px" />
           <!-- 鲜总说不要了 06.测试/20230704/设备检测用例相关改动.png
           <el-table-column prop="not" label="规则取反" width="75px" :formatter="formatBool" />
           <el-table-column prop="value" label="期望值" width="75px" />
@@ -173,6 +177,16 @@
       }"
       @toggleModel="closeModel"
     />
+    <ModelFormFileTransferOpt104
+      v-if="showFileTransferOpt104ModelForm"
+      :model-parames="{
+        'curPlanId':componentParames.curPlanId,
+        'productId':componentParames.productId,
+        'deviceName':componentParames.deviceName,
+        'curSuiteId':componentParames.curSuiteId
+      }"
+      @toggleModel="closeModel"
+    />
   </div>
 </template>
 
@@ -188,6 +202,7 @@ import Pagination from '@/components/Pagination'
 import ModelReport from '../components/ModelReport'
 // 添加用例
 import ModelFormExample from '../components/ModelFormExample'
+import ModelFormFileTransferOpt104 from '../components/ModelFormFileTransferOpt104'
 // 导入总线
 import { EventBus } from '@/main.js'
 export default {
@@ -195,7 +210,8 @@ export default {
   components: {
     Pagination,
     ModelReport,
-    ModelFormExample
+    ModelFormExample,
+    ModelFormFileTransferOpt104
   },
   props: {
     componentParames: {
@@ -207,6 +223,7 @@ export default {
   },
   data() {
     return {
+      showFileTransferOpt104ModelForm: false,
       vloading: true,
       tableData: [],
       tableIsUpdate: 0,
@@ -258,6 +275,10 @@ export default {
       // 获取用例列表数据 ,不传分页信息,即采集默认分页获取第一页数据
       this.getDeviceExamples()
     },
+    // 文件传输
+    openFileTransfer() {
+      this.showFileTransferOpt104ModelForm = true
+    },
     // 手动刷新状态  manual
     refreshManual(isHand) {
       // 接口 用例状态(高频刷新) /test/execute/:runner/results
@@ -393,7 +414,9 @@ export default {
             limit: this.deviceExamples.pageLimit
           })
           break
-
+        case 'ModelFormFileTransferOpt104':
+          this.showFileTransferOpt104ModelForm = false
+          break
         default:
           console.log('未获取到 modelName')
           break

+ 7 - 6
src/views/device/tables/Sample_master104.vue

@@ -84,7 +84,7 @@
       <!-- 查询栏 -->
       <div class="table-container" height="auto" style="float: left;width: 100%;margin-bottom: 1rem;">
         <span class="title">测点类型:</span>
-        <el-select v-model="querydata.pointtype" size="mini" clearable placeholder="请选择">
+        <el-select v-model="querydata.pointtype" multiple size="mini" clearable placeholder="请选择">
           <el-option
             v-for="item in pointTypeList"
             :key="item.id"
@@ -293,7 +293,7 @@ export default {
       tableData: [],
       pointTypeList: [], // 测点类型列表
       querydata: {
-        pointtype: '',
+        pointtype: [],
         point: ''
       },
       commandOpt104FormData: {},
@@ -328,10 +328,10 @@ export default {
   //   }
   // },
   created() {
-    const envUrl = process.env.VUE_APP_BASE_API
+    // const envUrl = process.env.VUE_APP_BASE_API
     // 网页加载完成后执行
     // 接口 导入测点 /test/plan/:plan/points.csv
-    this.importCsvActionStr = envUrl + `/test/plan/${this.componentParames.curPlanId}/points.csv`
+    this.importCsvActionStr = `/test/plan/${this.componentParames.curPlanId}/points.csv`
     // console.log('this.importCsvActionStr=', this.importCsvActionStr)
   },
   mounted() {
@@ -381,13 +381,14 @@ export default {
     },
     query() {
       // 采样值查询
+      console.log(this.querydata)
       for (const item in this.carddata) {
         this.carddata[item].forEach(element => {
-          if (this.querydata.point === '' && this.querydata.pointtype === '') {
+          if (this.querydata.point === '' && this.querydata.pointtype.length === 0) {
             element.isshow = true
           } else {
             let isshowflag = false
-            if (this.querydata.pointtype !== '' && element.range === this.querydata.pointtype) {
+            if (this.querydata.pointtype !== '' && this.querydata.pointtype.indexOf(element.range) > -1) {
               isshowflag = true
             }
             if (this.querydata.point !== '' && (element.name.toLocaleUpperCase().indexOf(this.querydata.point.toLocaleUpperCase()) > -1) || (element.offset + '') === this.querydata.point) {

+ 3 - 3
src/views/plan/components/PlanCheckPoint.vue

@@ -427,13 +427,13 @@ export default {
   },
   mounted() {
     this.$nextTick(() => {
-      const envUrl = process.env.VUE_APP_BASE_API
+      // const envUrl = process.env.VUE_APP_BASE_API
       // 网页加载完成后执行
-      this.importCsvActionStr = envUrl + `/product/model/0/models.csv`
+      this.importCsvActionStr = `/product/model/0/models.csv`
       if (this.currentPlanData.id > 0) {
         // 如果获取到了PlanId再加载详细信息
         this.getPlanCheckPoint()
-        this.importCsvActionStr = envUrl + `/product/model/${this.currentPlanData.product}/models.csv`
+        this.importCsvActionStr = `/product/model/${this.currentPlanData.product}/models.csv`
       }
       this.initFunctions()
     })

+ 1 - 1
src/views/plan/components/PlanList.vue

@@ -84,7 +84,7 @@
             >新建方案</el-button>
           </div>
           <div ref="btn_exp_case" data-controlcode="btn_exp_case" class="export-plan">
-            <a download="方案列表.xls" target="_blank" :href="`${APP_BASE_API}/test/suite/suite.xls`">
+            <a download="方案列表.xls" target="_blank" :href="`/test/suite/suite.xls`">
               <el-button
                 icon="el-icon-upload"
                 class="light-button"