Browse Source

照片接口调整,甘特图调整

fujunwen 4 years ago
parent
commit
0e7e845cad

+ 28 - 16
src/utils/ganttChart/GanttChart_day.js

@@ -39,7 +39,8 @@ export function GanttChartDay(options) {
   this.daysCount = options['daysCount'] || 60;
   // 任务图距离顶部高度
   this.graphTopDis = 60
-  
+  // 任务矩形最小宽度
+  this.minTaskRectWidth = 5
   // 每像素代表的小时数
   this.timePerPix = this.cWidth/this.daysCount/24/3600
   // 当前视图开始时间,向前推N天
@@ -66,6 +67,7 @@ export function GanttChartDay(options) {
  */
 GanttChartDay.prototype.changeTasks = function(_tasks){
   this.tasks = _tasks
+  this.forceRefreshGraph()
 }
 
 /**
@@ -113,8 +115,9 @@ GanttChartDay.prototype.processData = function() {
 
 /**
  * 强制清空图像,重绘
+ * keepTimeZone 表示保持当前时间状态
  */
-GanttChartDay.prototype.forceRefreshGraph = function() {
+GanttChartDay.prototype.forceRefreshGraph = function(keepTimeZone = false) {
   this.tasks.forEach((topTask) => {
     topTask.gGroup = null;
   });
@@ -360,18 +363,17 @@ GanttChartDay.prototype.handleClick = function(task, flag, ev) {
  * 
  */
 GanttChartDay.prototype.statusColor =function(task) {
-  switch (task.status) {
-    case '按时完成':
-      return 'aqua';
-      break;
-    case '计划批准':
-      return '#ff9800';
-      break;
-    case '已完成':
-      return '#19b720';
-      break;
+  switch (task.statusType) {
+    case 1:
+      return ['#c3c7cb', '#e7e9ea'];
+    case 2:
+      return ['#5b8ff9', '#5b8ff933'];
+    case 3:
+      return ['#f58300', '#fbce99'];
+    case 4:
+      return ['#f54e45', '#fbb8b5'];
     default:
-      break;
+      return ['#f54e45', '#fbb8b5'];
   }
 }
 
@@ -382,6 +384,11 @@ GanttChartDay.prototype.statusColor =function(task) {
 GanttChartDay.prototype.isInView = function(task) {
   let isLessThanEndAt = (task.endDate <= this.startAt.format('YYYY-MM-DD'))
   let isGreaterThanStartAt = task.startDate >= this.endAt.format('YYYY-MM-DD')
+  if(task.startDate == task.endDate){
+    // console.error('任务宽度为0',task)
+    return true
+  }
+  // console.log('isInView', `${task.startDate} -- ${task.endDate}`, this.startAt.format('YYYY-MM-DD'), this.endAt.format('YYYY-MM-DD'), (!(isLessThanEndAt || isGreaterThanStartAt)))
   return !(isLessThanEndAt || isGreaterThanStartAt)
 }
 
@@ -463,7 +470,7 @@ GanttChartDay.prototype.drawTasks = function() {
             let tempTaskContainerEl = taskPGroup.addShape('rect', {
               attrs: {
                 x: 0,
-                y: topTask.renderOptions.startY + ((index+2)* (this.taskRowHeight + this.rowSpanDis))-5,
+                y: topTask.renderOptions.startY + ((index+1)* (this.taskRowHeight + this.rowSpanDis))-5,
                 width: this.cWidth,
                 height: this.taskRowHeight+10,
                 fill: '#fff',
@@ -504,8 +511,8 @@ GanttChartDay.prototype.drawTasks = function() {
                   y: topTask.renderOptions.startY + ((index + 1)* (this.taskRowHeight + this.rowSpanDis)),
                   width: pos.width,
                   height: this.taskRowHeight,
-                  fill: this.statusColor(_taskItem),
-                  stroke: 'black',
+                  fill: this.statusColor(_taskItem)[0],
+                  stroke: this.statusColor(_taskItem)[1],
                   radius: [2, 4],
                 },
               });
@@ -550,6 +557,11 @@ GanttChartDay.prototype.calRectPos = function(taskItem) {
 
   let duraEndAt = new Date(taskItem.endDate) - new Date(taskItem.startDate);        
   let secondsEndAt = duraEndAt/1000
+  let width = secondsEndAt * this.timePerPix
+  if(width < this.minTaskRectWidth){
+    width = this.minTaskRectWidth
+  }
+  console.error('task rect width:', width)
   return {
     x: secondsStartAt * this.timePerPix,
     y: 0,

+ 29 - 15
src/utils/ganttChart/GanttChart_month.js

@@ -39,6 +39,8 @@ export function GanttChartMonth(options) {
   this.daysCount = options['daysCount'] || 365;
   // 任务图距离顶部高度
   this.graphTopDis = 60
+  // 任务矩形最小宽度
+  this.minTaskRectWidth = 5
   
   // 每像素代表的小时数
   this.timePerPix = this.cWidth/this.daysCount/24/3600
@@ -66,6 +68,8 @@ export function GanttChartMonth(options) {
  */
 GanttChartMonth.prototype.changeTasks = function(_tasks){
   this.tasks = _tasks
+  console.error('change tasks data here....', this.tasks)
+  this.forceRefreshGraph()
 }
 
 /**
@@ -364,18 +368,17 @@ GanttChartMonth.prototype.handleClick = function(task, flag, ev) {
  * 
  */
 GanttChartMonth.prototype.statusColor =function(task) {
-  switch (task.status) {
-    case '按时完成':
-      return 'aqua';
-      break;
-    case '计划批准':
-      return '#ff9800';
-      break;
-    case '已完成':
-      return '#19b720';
-      break;
+  switch (task.statusType) {
+    case 1:
+      return ['#e7e9ea', '#c3c7cb'];
+    case 2:
+      return ['#dee9fe', '#5b8ff9'];
+    case 3:
+      return ['#fbce99', '#f58300'];
+    case 4:
+      return ['#fbb8b5', '#f54e45'];
     default:
-      break;
+      return ['#fbb8b5', '#f54e45'];
   }
 }
 
@@ -386,6 +389,12 @@ GanttChartMonth.prototype.statusColor =function(task) {
 GanttChartMonth.prototype.isInView = function(task) {
   let isLessThanEndAt = (task.endDate <= this.startAt.format('YYYY-MM-DD'))
   let isGreaterThanStartAt = task.startDate >= this.endAt.format('YYYY-MM-DD')
+
+  if(task.startDate == task.endDate){
+    // console.error('任务宽度为0',task)
+    return true
+  }
+  // console.log('isInView', `${task.startDate} -- ${task.endDate}`, this.startAt.format('YYYY-MM-DD'), this.endAt.format('YYYY-MM-DD'), (!(isLessThanEndAt || isGreaterThanStartAt)))
   return !(isLessThanEndAt || isGreaterThanStartAt)
 }
 
@@ -469,7 +478,7 @@ GanttChartMonth.prototype.drawTasks = function() {
             let tempTaskContainerEl = taskPGroup.addShape('rect', {
               attrs: {
                 x: 0,
-                y: topTask.renderOptions.startY + ((index+2)* (this.taskRowHeight + this.rowSpanDis))-5,
+                y: topTask.renderOptions.startY + ((index+1)* (this.taskRowHeight + this.rowSpanDis))-5,
                 width: this.cWidth,
                 height: this.taskRowHeight+10,
                 fill: '#fff',
@@ -510,8 +519,8 @@ GanttChartMonth.prototype.drawTasks = function() {
                   y: topTask.renderOptions.startY + ((index + 1)* (this.taskRowHeight + this.rowSpanDis)),
                   width: pos.width,
                   height: this.taskRowHeight,
-                  fill: this.statusColor(_taskItem),
-                  stroke: 'black',
+                  fill: this.statusColor(_taskItem)[0],
+                  stroke: this.statusColor(_taskItem)[1],
                   radius: [2, 4],
                 },
               });
@@ -556,10 +565,15 @@ GanttChartMonth.prototype.calRectPos = function(taskItem) {
 
   let duraEndAt = new Date(taskItem.endDate) - new Date(taskItem.startDate);
   let secondsEndAt = duraEndAt/1000
+  let width = secondsEndAt * this.timePerPix
+  if(width < this.minTaskRectWidth){
+    width = this.minTaskRectWidth
+  }
+  // console.error('task rect width:', width)
   return {
     x: secondsStartAt * this.timePerPix,
     y: 0,
-    width: secondsEndAt * this.timePerPix,
+    width: width,
     height: 0,
   };
 }

+ 86 - 41
src/views/analysis/CoreDeviceReport.vue

@@ -42,13 +42,13 @@
         </el-table-column>
         <el-table-column prop="photos_num" label="照片">
           <template slot-scope="scope">
-            <!-- <span style="color: #025BAA">{{ scope.row.photos_num || scope.row.photos_num === 0?(scope.row.photos_num + '张') : '—' }}</span> -->
-            <span style="color: #025BAA" @click="showPicturesDetail(scope.row)">1张</span>
+            <span style="color: #025BAA" @click="showPicturesDetail(scope.row, 'equip')">{{ scope.row.photos_num?(scope.row.photos_num + '张') : '—' }}</span>
+            <!-- <span style="color: #025BAA" @click="showPicturesDetail(scope.row)">1张</span> -->
           </template>
         </el-table-column>
         <el-table-column prop="attachments_num" label="报告">
           <template slot-scope="scope">
-            <span style="color: #025BAA">{{ scope.row.attachments_num || scope.row.attachments_num === 0?(scope.row.attachments_num+ '张') : '—'}}</span>
+            <span style="color: #025BAA" @click="showReportDetail(scope.row)">{{ scope.row.attachments_num?(scope.row.attachments_num+ '张') : '—'}}</span>
           </template>
         </el-table-column>
       </el-table>
@@ -62,7 +62,7 @@
           @current-change="changeTablePage">
         </el-pagination>
       </div>
-      <el-dialog title="交换机-照明系统" :visible.sync="dialogTableVisible" width="1260px">
+      <el-dialog :title="equipTitle" :visible.sync="dialogTableVisible" width="1260px">
         <el-date-picker
           style="margin-bottom: 12px;"
           v-model="dialogTime"
@@ -78,13 +78,13 @@
           <el-table-column property="taskName" label="事项名称"></el-table-column>
           <el-table-column width="100" property="photosNum" label="照片">
             <template slot-scope="scope">
-              <!-- <span style="color: #025BAA">{{ scope.row.photosNum || scope.row.photosNum === 0?(scope.row.photosNum + '张') : '—' }}</span> -->
-              <span style="color: #025BAA" @click="showPicturesDetail(scope.row)">1张</span>
+              <span style="color: #025BAA" @click="showPicturesDetail(scope.row, 'his')">{{ scope.row.photosNum || scope.row.photosNum === 0?(scope.row.photosNum + '张') : '—' }}</span>
+              <!-- <span style="color: #025BAA" @click="showPicturesDetail(scope.row)">1张</span> -->
             </template>
           </el-table-column>
           <el-table-column width="100" property="attachmentsNum" label="报告">
             <template slot-scope="scope">
-              <span style="color: #025BAA">{{ scope.row.attachmentsNum || scope.row.attachmentsNum === 0?(scope.row.attachmentsNum+ '张') : '—'}}</span>
+              <span style="color: #025BAA">{{ scope.row.attachmentsNum?(scope.row.attachmentsNum+ '张') : '—'}}</span>
             </template>
           </el-table-column>
         </el-table>
@@ -103,19 +103,13 @@
         <el-dialog :title="detailTitle" :visible.sync="showDetail" width="1260px">
           <div class="detail-container">
             <div class="pictures-menu">
-              <!-- <div v-for="(item) in pictureList" :key="'id_' + item.id" class="item"> -->
-              <div class="item">
-                <!-- <img :src="item.url" alt=""> -->
-                <img src="../../assets/images/login_back.png" alt="">
-                <div class="name">图层名称1.jpg</div>
-              </div>
-              <div class="item">
-                <img src="../../assets/images/login_back.png" alt="">
-                <div class="name">图层名称1.jpg</div>
+              <div v-for="(item) in pictureList" :key="'id_' + item.id" class="item" @click="changeCurImg(item.id)" :class="{'active': item.isActive}">
+                <img :src="item.url" alt="">
+                <div class="name">{{item.name}}</div>
               </div>
             </div>
             <div class="cur-img-container">
-              <img src="../../assets/images/login_back.png" alt="">
+              <img :src="curImg.url" alt="">
             </div>
           </div>
         </el-dialog>
@@ -129,6 +123,7 @@ import { Select, Input } from 'meri-design';
 import { querySystemList, queryEquipmentList, queryTableData, queryHistoryTableData, queryDetailData } from '../../api/coreDeviceReport';
 import _ from 'lodash';
 import moment from 'moment';
+import { log } from 'util';
 export default {
   data () {
     return {
@@ -153,6 +148,7 @@ export default {
       dialogTableVisible: false, // 弹窗显示状态
 
       // 核心设备实例
+      equipTitle: '', // 核心设备弹窗名称
       assetnum: null, // 设备台账编码
       historyTableData: [], // 核心设备实例的所有历史事项信息
       dialogTime: null, // 弹框内的时间
@@ -164,7 +160,12 @@ export default {
 
       showDetail: false, // 显示照片、报告详情
       detailTitle: '图片预览', // 弹窗名称
-      pictureList: [], // 图片列表
+      pictureList: [
+        {id: 1, url: require('../../assets/images/login_back.png'), name: '图层名称1.jpg'},
+        {id: 2, url: require('../../assets/images/matter_pop3.png'), name: '图层名称2.jpg'},
+        {id: 3, url: require('../../assets/images/login_back.png'), name: '图层名称3.jpg'},
+      ], // 图片列表
+      curImg: {}, // 当前图片
     }
   },
 
@@ -226,20 +227,26 @@ export default {
       queryEquipmentList('/data/home/querySystemCard', param).then((res) => {
         const { result, data } = res;
         if (result === 'success') {
-          let newData = [];
+          let newData = [], abnormalList = [];
+
           _.forEach(data[0].assetTypeList, (item, index) => {
-            newData.push({
+            let itemData = {
               id: item.id,
               name: item.category_name,
               isMaintenance: item.is_detecting,
               statusNum: item.is_exception_num,
               num: item.asset_num,
               abnormal: item.is_exception_num !== 0,
-              isActive: index === 0,
               category_code: item.category_code
-            })
+            }
+            if (item.is_exception_num === 0) {
+              newData.push(itemData)
+            } else {
+              abnormalList.push(itemData);
+            }
           })
-          this.systemContentData = newData;
+          this.systemContentData = abnormalList.concat(newData);
+          _.map(this.systemContentData, (o, i) => {return o.isActive = i === 0});
           const { query } = this.$route;
           if (!_.isEmpty(query) && query.equipId) {
             _.map(this.systemContentData, (o) => {return o.isActive = o.id == query.equipId});
@@ -262,7 +269,7 @@ export default {
       let query = {
         category_code: _.find(this.systemContentData, (o) => {return o.isActive}).category_code
       }
-      let url = `/data/glsms_asset/query?plazaId=1000423&page=${this.curPage}&size=${this.pageSize}`;
+      let url = `/data/glsms_asset/query?plazaId=1000423&page=${this.curPage}&size=${this.pageSize}&orderBy=is_exception,0`;
       if (_.trim(this.searchKey) !== '') {
         url = `${url}&keyword=${this.searchKey}:sbjc,sbjbm`
       }
@@ -293,6 +300,7 @@ export default {
     showEquipmentStatus(row, column, e) {
       setTimeout(() => {
         if (this.showDetail) return
+        this.equipTitle = row.sbjc;
         this.dialogTableVisible = true;
         this.assetnum = row.assetnum;
         this.initTimePicker();
@@ -306,12 +314,13 @@ export default {
       let param = {
         page: this.hisCurPage,
         size: this.hisPageSize,
+        plazaId: 1000423,
         // assetnum: this.assetnum,
-        assetnum: 8952,
+        assetnum: 24071,
         // startDate: this.startTime,
-        startDate: 20180101000000,
+        startDate: 20000101000000,
         // endDate: this.endTime
-        endDate: 20180201000000
+        endDate: 20200201000000
       }
       queryHistoryTableData('/data/base/queryDateByAssetNum', param).then((res) => {
         const { result, data, count } = res;
@@ -321,17 +330,18 @@ export default {
           _.forEach(this.historyTableData, (item) => {
             let name;
             switch (item.type) {
-              case '0':
+              case 0:
                 name = '专维'
                 break
-              case '1':
+              case 1:
                 name = '维保专业'
                 break
-              case '2':
+              case 2:
                 name = '第三方视图'
                 break
             }
             item.typeName = name;
+            item.finishDate = moment.unix(item.finishDate / 1000).format('YYYY.MM.DD');
           })
         }
       })
@@ -368,39 +378,71 @@ export default {
     /**
      * 显示图片详情
      */
-    showPicturesDetail(val) {
+    showPicturesDetail(val, type) {
       console.log('val', val)
-      // if (!val.file_type || !val.file_type_id) {
-      //   return
-      // }
+      if (type === 'equip') {
+        if (!val.file_type || !val.file_type_id) {
+          return
+        }
+      } else {
+        if (!val.photosNum) {
+          return
+        }
+      }
       this.showDetail = true;
       this.detailTitle = '图片预览';
       this.getDetailData(val);
     },
     /**
+     * 显示附件详情
+     */
+    showReportDetail(val) {
+      console.log('val', val)
+      if (!val.file_type || !val.file_type_id) {
+        return
+      }
+      this.showDetail = true;
+      this.detailTitle = '附件预览';
+      this.getDetailData(val);
+    },
+    /**
      * 获取图片/报告详情
      */
-    getDetailData(val) {
+    getDetailData(val, type) {
       let param = {
-        file_type: 0, // val.file_type
-        file_type_id: 2914, // val.file_type_id
+        file_type: type === 'equip'?val.file_type : val.type, 
+        // file_type: 0,
+        file_type_id: type === 'equip'?val.file_type_id : val.id,
+        // file_type_id: 2914,
         type: this.detailTitle === '图片预览'? 0 : 1
       }
-
       queryDetailData('/data/base/queryFileDetails', param).then((res) => {
         console.log('res', res)
         const { result, data } = res;
         if (result === 'success') {
           let newData = [];
-          _.forEach(data, (item) => {
+          _.forEach(data, (item, index) => {
             newData.push({
               id: item.id,
-              url: item.urlname
+              url: item.urlname,
+              isActive: index === 0
             })
           })
-          // this.pictureList = newData;
+          if (this.detailTitle === '图片预览') {
+            // this.pictureList = newData;
+            this.curImg = this.pictureList[0];
+          } else {
+
+          }
         }
       })
+    },
+    /**
+     * 切换当前预览大图
+     */
+    changeCurImg(id) {
+      _.map(this.pictureList, (o) => {return o.isActive = o.id === id});
+      this.curImg = _.find(this.pictureList, (o) => {return o.isActive});
     }
   }
 }
@@ -538,6 +580,9 @@ export default {
           margin-bottom: 20px;
         }
       }
+      .active>img{
+        border-color: rgba(31, 35, 41, 0.15);
+      }
     }
     .cur-img-container{
       padding: 20px;

+ 37 - 17
src/views/analysis/GanttChart.vue

@@ -112,19 +112,13 @@
         <el-dialog :title="'图片预览'" :visible.sync="showImgDetail" width="1260px">
           <div class="detail-container">
             <div class="pictures-menu">
-              <!-- <div v-for="(item) in pictureList" :key="'id_' + item.id" class="item"> -->
-              <div class="item">
-                <!-- <img :src="item.url" alt=""> -->
-                <img src="../../assets/images/login_back.png" alt />
-                <div class="name">图层名称1.jpg</div>
-              </div>
-              <div class="item">
-                <img src="../../assets/images/login_back.png" alt />
-                <div class="name">图层名称1.jpg</div>
+              <div v-for="(item) in pictureList" :key="'id_' + item.id" class="item" @click="changeCurImg(item.id)" :class="{'active': item.isActive}">
+                <img :src="item.url" alt="">
+                <div class="name">{{item.name}}</div>
               </div>
             </div>
             <div class="cur-img-container">
-              <img src="../../assets/images/login_back.png" alt />
+              <img :src="curImg.url" alt="">
             </div>
           </div>
         </el-dialog>
@@ -214,6 +208,13 @@ export default {
       ], // 报告
       ganttDetail: {}, // 甘特图明细
       tableData: [], // 表数据
+      curTask: {}, // 当前查看的任务
+      pictureList: [
+        {id: 1, url: require('../../assets/images/login_back.png'), name: '图层名称1.jpg', isActive: true},
+        {id: 2, url: require('../../assets/images/matter_pop3.png'), name: '图层名称2.jpg', isActive: false},
+        {id: 3, url: require('../../assets/images/login_back.png'), name: '图层名称3.jpg', isActive: false},
+      ], // 图片
+      curImg: {}, // 当前查看的图片
 
       showImgDetail: false, // 查看更多图片弹框显示状态
     };
@@ -242,8 +243,8 @@ export default {
     initChartTime() {
       let endTime = new Date().getTime(),
           startTime = endTime - 1000*60*60*24*365;
-      this.startTime = startTime;
-      this.endTime = endTime;
+      this.startTime = moment.unix(startTime / 1000).format('YYYYMMDDHHmmss');
+      this.endTime = moment.unix(endTime / 1000).format('YYYYMMDDHHmmss');
     },
     /**
      * 获取系统列表数据
@@ -375,8 +376,8 @@ export default {
               callback: this.showDialog,
               pageToCallback: (data)=>{
                 const { startAt, endAt } = data;
-                this.startTime = new Date(startAt).getTime();
-                this.endTime = new Date(endAt).getTime();
+                this.startTime = moment.unix(new Date(startAt).getTime() / 1000).format('YYYYMMDDHHmmss');
+                this.endTime = moment.unix(new Date(endAt).getTime() / 1000).format('YYYYMMDDHHmmss');
                 this.getGanttChartData();
               }
             });
@@ -422,6 +423,7 @@ export default {
     showDialog(task) {
       this.showDetail = true;
       this.detailTitle = task._pdata.description;
+      this.curTask = task;
       this.getGanttDetailData();
       this.getPictureOrReportData(0);
       this.getPictureOrReportData(1);
@@ -468,15 +470,30 @@ export default {
      * 获取甘特图的图片/报告详情
      */
     getPictureOrReportData(type) {
+      const { id, statusType } = this.curTask._pdata;
       let param = {
-        file_type: 1,
-        file_type_id: 1985,
+        file_type: statusType,
+        file_type_id: id,
         type: type
       };
       queryDetailData("/data/base/queryFileDetails", param).then(res => {
         console.log("photo", res);
+        const { result, data } = res;
+        if (result === 'success') {
+          
+        }
       });
+    },
+    /**
+     * 切换当前预览大图
+     */
+    changeCurImg(id) {
+      _.map(this.pictureList, (o) => {return o.isActive = o.id === id});
+      this.curImg = _.find(this.pictureList, (o) => {return o.isActive});
     }
+  },
+  beforeDestroy() {
+    window.gc = null;
   }
 };
 </script>
@@ -648,7 +665,7 @@ export default {
     margin-right: 21px;
     padding-top: 16px;
     padding-bottom: 16px;
-    width: 180px;
+    padding-right: 5px;
     height: 100%;
     overflow: auto;
     .item {
@@ -668,6 +685,9 @@ export default {
         margin-bottom: 20px;
       }
     }
+    .active>img{
+      border-color: rgba(31, 35, 41, 0.15);
+    }
   }
   .cur-img-container {
     padding: 20px;

+ 25 - 4
src/views/analysis/SpecificationUpdateRecord.vue

@@ -22,7 +22,7 @@
         @change="changeTime">
       </el-date-picker>
     </div>
-    <el-table :data="tableData" style="margin-bottom: 19px">
+    <el-table :data="tableData" style="margin-bottom: 19px" @row-click="changeToSystem">
       <el-table-column property="time" label="日期"></el-table-column>
       <el-table-column property="evenType" label="事项类型"></el-table-column>
       <el-table-column property="objid" label="编号"></el-table-column>
@@ -63,8 +63,8 @@ export default {
       curPage: 1, // 当前页码
       pageSize: 10, // 每页条数
       tatol: 0, // 数据总量
-      startTime: 20171027000000, // 开始时间
-      endTime: 20171028000000, // 结束事件
+      startTime: null, // 开始时间
+      endTime: null, // 结束事件
     }
   },
 
@@ -164,8 +164,29 @@ export default {
         this.initTimePicker();
       }
       this.getTableData();
+    },
+    /**
+     * 跳转到工程信息化系统
+     */
+    changeToSystem(row) {
+      console.log('row', row)
+      const { objtype } = row;
+      let url;
+      switch (objtype) {
+        case 0: // 专维
+          url = `http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=GCZXWXLINE&uniqueid=${row.id}`;
+          break
+        case 1: // 维保
+          url = `http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.id}`;
+          break
+        case 2: // 第三方视图
+          url = `http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=DSF_GZGL&uniqueid=${row.id}`;
+          break
+      }
+      console.log('url', url)
+      // window.open(url, '_blank');
     }
-  }
+  },
 }
 </script>