a1140836302 %!s(int64=2) %!d(string=hai) anos
pai
achega
06927c8d7d

+ 26 - 1
src/api/records.js

@@ -63,4 +63,29 @@ export function alarmDispose(data) {
     data
   })
 }
-
+//导出结果
+export function RecordFile(Fileurl,fileName){
+  return request({
+    url: Fileurl,
+    method: 'get',
+    responseType: 'blob',
+  }).then(data=>{
+    console.log("RecordFile then", data)
+    if (!data) return alert('文件下载失败');
+    // let fileName = '统计表计';
+    if (typeof window.navigator.msSaveBlob !== 'undefined') {
+        // window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + '.xlsx');
+        window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName);
+    } else {
+        let url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }));
+        let link = document.createElement('a');
+        link.style.display = 'none';
+        link.href = url;
+        link.setAttribute('download', fileName);
+        document.body.appendChild(link);
+        link.click();
+        document.body.removeChild(link); //下载完成移除元素
+        window.URL.revokeObjectURL(url); //释放掉blob对象
+    }
+  })
+}

+ 6 - 2
src/filters/index.js

@@ -71,6 +71,10 @@ export function numFilter(value) {
 }
 
 export function exchangerFilter(value) {
-  const realVal = parseFloat(value).toFixed(1)
-  return realVal
+  if(value){
+    const realVal = parseFloat(value).toFixed(2)
+     return realVal
+  }else{
+    return ''
+  }
 }

+ 1 - 1
src/layout/components/Navbar.vue

@@ -38,7 +38,7 @@
         </div>
       </div>
     </div>
-    <div><router-link to="/manage-log/control"><img src="./assets/set.png" width="36" height="36"></router-link></div>
+    <!-- <div><router-link to="/manage-log/control"><img src="./assets/set.png" width="36" height="36"></router-link></div> -->
     <div class="right-menu">
       <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
         <div class="avatar-wrapper">

+ 1 - 1
src/views/equipment-monitoring/components/BatteryStatus.vue

@@ -8,7 +8,7 @@
             <span>电池编号</span><span>{{sn}}</span>
         </div>
         <div class="percent">
-            <div><span>{{soc}}</span></div>
+            <div><span>{{soc | exchangerFilter}}</span></div>
             <div>%</div>
         </div>
         <div class="line"><span></span><span></span></div>

+ 3 - 3
src/views/manage-log/robot.vue

@@ -69,11 +69,11 @@
             fixed="left"
             width="180">
           </el-table-column>
-          <el-table-column v-for="log in logheader" :key="log.alarmCode" :label="log.alarmName" :render-header="labelHead">
+          <af-table-column v-for="log in logheader" :key="log.alarmCode" :label="log.alarmName" :render-header="labelHead">
             <template slot-scope="scope">
-              {{ scope.row[log.alarmId] }}
+              {{ scope.row[log.alarmId] | exchangerFilter }}
             </template>
-          </el-table-column>
+          </af-table-column>
         </el-table>
       </div>
       <div class="pageblock">

+ 8 - 4
src/views/permission/directive.vue

@@ -117,10 +117,13 @@
             width="228"
           />
           <el-table-column
-            prop="swapSoc"
             label="换电电池SOC"
             width="150"
-          />
+          >
+          <template slot-scope="scope">
+            {{ scope.row.swapSoc | exchangerFilter}}
+          </template>
+        </el-table-column>
           <el-table-column
             prop="swapSoh"
             label="换电电池SOH"
@@ -146,7 +149,7 @@
 
 <script>
 import './permission.scss'
-import { swapList, swapExport } from '@/api/records'
+import { swapList, swapExport,RecordFile } from '@/api/records'
 export default {
   name: 'DirectivePermission',
   components: {},
@@ -249,8 +252,9 @@ export default {
       })
       .then(async() => {
           const res = await swapExport(this.queryParams)
+          //const execlUrl=serverUrl.devServer.proxy['/api'].target+'/excel/'+res.data
           const execlUrl=process.env.VUE_APP_BASE_API+'/excel/'+res.data
-          window.open(execlUrl,'_blank')
+          const resUrl=await RecordFile(execlUrl, res.data)
         })
       .catch(err => { console.error(err) })
     }

+ 4 - 2
src/views/permission/page.vue

@@ -196,7 +196,7 @@
 
 <script>
 import './permission.scss'
-import { chargeList, chargeExport, getChargeCode } from '@/api/records'
+import { chargeList, chargeExport, getChargeCode,RecordFile } from '@/api/records'
 export default {
   name: 'PagePermission',
   components: {},
@@ -315,8 +315,10 @@ export default {
       })
       .then(async() => {
           const res = await chargeExport(this.queryParams)
+          // const execlUrl=process.env.VUE_APP_BASE_API+'/excel/'+res.data
+          // window.open(execlUrl,'_blank')
           const execlUrl=process.env.VUE_APP_BASE_API+'/excel/'+res.data
-          window.open(execlUrl,'_blank')
+          const resUrl=await RecordFile(execlUrl, res.data)
         })
       .catch(err => { console.error(err) })
     }

+ 4 - 2
src/views/permission/record-alarm/index.vue

@@ -163,7 +163,7 @@
   
   <script>
   import '../permission.scss';
-  import { alarmList,alarmExport,alarmDispose } from "@/api/records";
+  import { alarmList,alarmExport,alarmDispose,RecordFile } from "@/api/records";
   export default {
     name: "RecordAlarm",
     components: {},
@@ -284,8 +284,10 @@
         })
         .then(async() => {
             const res = await alarmExport(this.queryParams)
+            // const execlUrl=process.env.VUE_APP_BASE_API+'/excel/'+res.data
+            // window.open(execlUrl,'_blank')
             const execlUrl=process.env.VUE_APP_BASE_API+'/excel/'+res.data
-            window.open(execlUrl,'_blank')
+            const resUrl=await RecordFile(execlUrl, res.data)
           })
         .catch(err => { console.error(err) })
       },

+ 0 - 1
src/views/power-change-monitoring/index.vue

@@ -801,7 +801,6 @@ export default {
     },
     websocketConnect() {
       const wstoken = getToken()
-      console.log('process',process.env)
       this.ws = new WebSocket(process.env.VUE_APP_WS+'/'+wstoken)
       this.ws.onopen = this.websocketOnOpen
       this.ws.onerror = this.websocketOnError