dedsudiyu 4 月之前
父節點
當前提交
bee1afed42
共有 2 個文件被更改,包括 142 次插入10 次删除
  1. 8 0
      src/api/iotDevice/index.js
  2. 134 10
      src/views/iotDevice/appManage/applyUpgrades/index.vue

+ 8 - 0
src/api/iotDevice/index.js

@@ -951,6 +951,14 @@ export function terminalVersionDelete(query) {
     params: query
   })
 }
+//APP-升级计划详情
+export function terminalUpgradeWebPlanDetail(query) {
+  return request({
+    url: '/terminal/upgrade/web/plan/detail',
+    method: 'get',
+    params: query
+  })
+}
 //APP-升级计划列表
 export function terminalUpgradeWebPlanList(data) {
   return request({

+ 134 - 10
src/views/iotDevice/appManage/applyUpgrades/index.vue

@@ -44,10 +44,10 @@
       <div class="page-content-box">
         <el-table class="table-box" v-loading="loading" border :data="tableList" ref="multipleTable">
           <el-table-column label="app名称" align="center" prop="appName" show-overflow-tooltip/>
-          <el-table-column label="app版本" align="center" prop="appVersion" show-overflow-tooltip width="240"/>
-          <el-table-column label="总设备数" align="center" prop="totalDevices" show-overflow-tooltip width="240"/>
-          <el-table-column label="分批数" align="center" prop="batchSize" show-overflow-tooltip width="240"/>
-          <el-table-column label="成功数" align="center" prop="successCount" show-overflow-tooltip width="240"/>
+          <el-table-column label="app版本" align="center" prop="appVersion" show-overflow-tooltip width="140"/>
+          <el-table-column label="总设备数" align="center" prop="totalDevices" show-overflow-tooltip width="140"/>
+          <el-table-column label="分批数" align="center" prop="batchSize" show-overflow-tooltip width="140"/>
+          <el-table-column label="成功数" align="center" prop="successCount" show-overflow-tooltip width="140"/>
           <el-table-column label="状态" align="center" prop="status" show-overflow-tooltip width="180">
             <template slot-scope="scope">
               {{scope.row.status=='pending'?'待执行':(scope.row.status=='in_progress'?'进行中':(scope.row.status=='completed'?'已完成':(scope.row.status=='termination'?'终止':(scope.row.status=='failed'?'失败':''))))}}
@@ -58,13 +58,16 @@
               {{parseTime(scope.row.createTime,"{y}-{m}-{d} {h}:{i}")}}
             </template>
           </el-table-column>
-          <el-table-column label="操作" align="center" prop="deptName" width="100">
+          <el-table-column label="操作" align="center" prop="deptName" width="140">
             <template slot-scope="scope">
               <div class="table-button-box">
                 <p class="table-button-null"></p>
+                <p class="table-button-p"
+                   @click="terminalUpgradeWebPlanDetail(scope.row)"
+                >详情</p>
                 <p class="table-button-p"
                    @click="terminalUpgradeWebPlanTermination(scope.row)"
-                >终止计划</p>
+                >终止</p>
                 <p class="table-button-null"></p>
               </div>
             </template>
@@ -117,9 +120,9 @@
           </el-form-item>
           <el-form-item label="升级范围" prop="upgradeScope" style="display: block" label-width="120px">
             <el-radio-group v-model="dialogForm.upgradeScope" style="width:320px;">
-              <el-radio :label="campus">校区</el-radio>
-              <el-radio :label="building">楼栋</el-radio>
-              <el-radio :label="laboratory">实验室</el-radio>
+              <el-radio label="campus">校区</el-radio>
+              <el-radio label="building">楼栋</el-radio>
+              <el-radio label="laboratory">实验室</el-radio>
             </el-radio-group>
           </el-form-item>
           <el-form-item label="校区" prop="schoolId" style="display: block" label-width="120px" v-if="dialogForm.upgradeScope == 'campus' || dialogForm.upgradeScope == 'building' || dialogForm.upgradeScope == 'laboratory'">
@@ -140,7 +143,7 @@
                          :value="item.id"/>
             </el-select>
           </el-form-item>
-          <el-form-item label="实验室" prop="subjectId" style="display: block" label-width="120px" v-if="dialogForm.upgradeScope == 3">
+          <el-form-item label="实验室" prop="subjectId" style="display: block" label-width="120px" v-if="dialogForm.upgradeScope == 'laboratory'">
             <el-select v-model="dialogForm.subjectId" filterable
                        placeholder="请选择实验室" style="width: 360px">
               <el-option v-for="(item,index) in subjectOption"
@@ -158,6 +161,48 @@
         <p class="dialog-footer-button-null"></p>
       </div>
     </el-dialog>
+    <el-dialog title="计划详情" class="applyList-dialog-box" :visible.sync="dialogInfoType" v-if="dialogInfoType"
+               width="400px" append-to-body :close-on-click-modal="false">
+      <div class="dialog-applyUpgrades-info-max-big-box">
+        <div class="dialog-info-max-box">
+          <p>app名称:</p>
+          <p>{{dialogInfoData.appName}}</p>
+        </div>
+        <div class="dialog-info-max-box">
+          <p>app版本号:</p>
+          <p>{{dialogInfoData.appVersion}}</p>
+        </div>
+        <div class="dialog-info-max-box">
+          <p>app大小:</p>
+          <p>{{dialogInfoData.batchSize?dialogInfoData.batchSize+'MB':''}}</p>
+        </div>
+        <div class="dialog-info-max-box">
+          <p>强制更新:</p>
+          <p>{{dialogInfoData.isForceUpdate?'是':'否'}}</p>
+        </div>
+        <div class="dialog-info-max-box">
+          <p>升级范围:</p>
+          <p>{{dialogInfoData.upgradeScope=='campus'?'校区':(dialogInfoData.upgradeScope=='building'?'楼栋':(dialogInfoData.upgradeScope=='laboratory'?'实验室':''))}}</p>
+        </div>
+        <div class="dialog-info-max-box" v-if="dialogInfoData.upgradeScope=='campus'||dialogInfoData.upgradeScope=='building'||dialogInfoData.upgradeScope=='laboratory'">
+          <p>校区:</p>
+          <p>{{dialogInfoData.schoolName}}</p>
+        </div>
+        <div class="dialog-info-max-box" v-if="dialogInfoData.upgradeScope=='building'||dialogInfoData.upgradeScope=='laboratory'">
+          <p>楼栋:</p>
+          <p>{{dialogInfoData.buildName}}</p>
+        </div>
+        <div class="dialog-info-max-box" v-if="dialogInfoData.upgradeScope=='laboratory'">
+          <p>实验室:</p>
+          <p>{{dialogInfoData.subjectName}}</p>
+        </div>
+      </div>
+      <div slot="footer" class="dialog-footer dialog-footer-box">
+        <p class="dialog-footer-button-null"></p>
+        <p class="dialog-footer-button-info" @click="dialogInfoCancel">关闭</p>
+        <p class="dialog-footer-button-null"></p>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -170,6 +215,7 @@
     terminalUpgradeWebPlanTermination,
     terminalAppSelect,
     terminalVersionSelect,
+    terminalUpgradeWebPlanDetail,
   } from "@/api/iotDevice/index";
   export default {
     name: 'applyUpgrades',
@@ -233,6 +279,9 @@
         buildOption:[],
         addressList:[],
         subjectOption:[],
+        //详情弹窗
+        dialogInfoData:{},
+        dialogInfoType:false,
       }
     },
     created(){
@@ -245,6 +294,59 @@
       this.terminalAppSelect();
     },
     methods:{
+      //详情
+      terminalUpgradeWebPlanDetail(row){
+        terminalUpgradeWebPlanDetail({planId:row.planId}).then(response => {
+          let obj = {
+            appName:response.data.appName,
+            appVersion:response.data.appVersion,
+            batchSize:response.data.batchSize,
+            isForceUpdate:response.data.isForceUpdate,
+            planId:response.data.planId,
+            upgradeScope:response.data.upgradeScope,
+            businessId:response.data.businessId,
+          }
+          this.getAdd(obj);
+        });
+      },
+      getAdd(obj){
+        let self = this;
+        let idList = obj.businessId.split(',');
+        if (obj.upgradeScope == 'campus'){
+          for(let i=0;i<self.addressList.length;i++){
+            if(self.addressList[i].id == idList[0]){
+              obj.schoolName = self.addressList[i].name;
+            }
+          }
+          this.$set(this,'dialogInfoData',obj);
+          this.$set(this,'dialogInfoType',true);
+        }else if (obj.upgradeScope == 'building'||obj.upgradeScope == 'laboratory'){
+          for(let i=0;i<self.addressList.length;i++){
+            if(self.addressList[i].id == idList[0]){
+              for(let o=0;o<self.addressList[i].buildFloorVoList.length;o++){
+                if(self.addressList[i].buildFloorVoList[o].id == idList[1]){
+                  obj.schoolName = self.addressList[i].name;
+                  obj.buildName = self.addressList[i].buildFloorVoList[o].name;
+                }
+              }
+            }
+          }
+          if(obj.upgradeScope == 'laboratory'){
+            laboratorySubRelInfoGetListByFloor({buildId:idList[1]}).then(response => {
+              for(let i=0;i<response.data.length;i++){
+                if(response.data[i].subId == idList[2]){
+                  obj.subjectName = response.data[i].subName;
+                }
+              }
+              this.$set(this,'dialogInfoData',obj);
+              this.$set(this,'dialogInfoType',true);
+            })
+          }else{
+            this.$set(this,'dialogInfoData',obj);
+            this.$set(this,'dialogInfoType',true);
+          }
+        }
+      },
       //新增
       addButton(){
         this.$set(this,'dialogForm',{
@@ -297,6 +399,9 @@
       dialogCancel(){
         this.$set(this,'dialogType',false);
       },
+      dialogInfoCancel(){
+        this.$set(this,'dialogInfoType',false);
+      },
       //终止计划
       terminalUpgradeWebPlanTermination(row){
         let self = this;
@@ -407,3 +512,22 @@
     }
   }
 </style>
+<style lang="scss">
+  .dialog-applyUpgrades-info-max-big-box{
+    .dialog-info-max-box{
+      display: flex;
+      p{
+        line-height:30px;
+        font-size:16px;
+      }
+      p:nth-child(1){
+        width:100px;
+        text-align: right;
+      }
+      p:nth-child(2){
+        flex:1;
+        margin-left:5px;
+      }
+    }
+  }
+</style>