zhangyu 5 years ago
parent
commit
2ce8535a72

+ 12 - 0
src/api/model/file.js

@@ -307,4 +307,16 @@ export function bindFloorModel(param, success) {
 export function getFileNameById(param, success) {
     let url = `${baseUrl}/model-folder/get-name`;
     httputils.postJson(url, param, success)
+}
+
+// 根据条件查询统计数量
+export function countSyncLogCount(param, success) {
+    let url = `${baseUrl}/sync-log/count`;
+    httputils.postJson(url, param, success)
+}
+
+// 查询同步日志
+export function querySyncLogCount(param, success) {
+    let url = `${baseUrl}/sync-log/query`;
+    httputils.postJson(url, param, success)
 }

+ 3 - 1
src/components/globaluploader/index.vue

@@ -2,7 +2,7 @@
  * @Author: zhangyu
  * @Date: 2019-11-28 10:05:28
  * @Info: 
- * @LastEditTime: 2019-12-11 10:50:07
+ * @LastEditTime: 2019-12-13 18:26:34
  -->
 <template>
   <div id="global-uploader">
@@ -312,6 +312,8 @@ export default {
               if (action == "confirm") {
                 this.uploader.cancel();
                 this.panelShow = false;
+                this.uploader.files = [];
+                this.setUploaderList([]);
                 Bus.$emit('modelStatusChange')
               } else { }
             }

+ 1 - 1
src/components/model/file/floorTable.vue

@@ -14,7 +14,7 @@
       <el-table-column label="版本号">
         <template slot-scope="scope">
           <span style="margin-right: 5px">{{ scope.row.Version }}</span>
-          <i v-show="scope.row.Version" class="iconfont icon-warn" style="cursor:pointer;" title="查看版本更新信息" @click="handleClickVersion(scope.row)"></i>
+          <i v-show="scope.row.Version && scope.row.Status == 4" class="iconfont icon-warn" style="cursor:pointer;" title="查看版本更新信息" @click="handleClickVersion(scope.row)"></i>
         </template>
       </el-table-column>
       <el-table-column prop="AcceptTime" label="上传时间"></el-table-column>

+ 81 - 11
src/components/model/file/versionDialog.vue

@@ -1,19 +1,46 @@
 <template>
-  <el-dialog :title="title" :visible.sync="dialog" :before-close="handleClose" width="900px" id="">
+  <el-dialog :title="title" :visible.sync="dialog" :before-close="handleClose" width="900px">
+    <div class="content">
+      <el-scrollbar style="height:100%;">
+        <span>上传人:{{versionData.userName}}</span>
+        <span style="marginLeft:30px;">上传时间:{{versionData.acceptTime}}</span>
+        <p style="marginTop:15px;">更新内容:</p>
+        <el-divider>新增设备概要内容</el-divider>
+        <p style="marginBottom:10px;">于【{{versionData.acceptTime}}】上传模型文件,新增设备实例如下:</p>
+        <p v-for="(item, key) in versionData.createData" :key="key">【{{key}}设备类名称】:【{{item.length}}】个</p>
+        <el-divider>删除设备概要内容</el-divider>
+        <p style="marginBottom:10px;">于【{{versionData.acceptTime}}】上传模型文件,删除设备实例如下:</p>
+        <p v-for="(item, key) in versionData.deleteData" :key="key">【{{key}}设备类名称】:【{{item.length}}】个</p>
+        <el-divider>新增设备</el-divider>
+        <div v-for="(item, key) in versionData.createData" :key="key">
+          <p>【{{key}}设备类名称】</p>
+          <p v-for="(obj, i) in item" :key="obj.Id">【{{i+1}}】、建筑:【{{obj.BuildingName || "无"}}】;楼层:【{{obj.FloorName || "无"}}】;设备全局id:【{{obj.ObjId || "无"}}】;BIMID:【{{obj.BimId || "无"}}】;设备本地编码:【{{obj.LocalId || "无"}}】;设备本地名称:【{{obj.LocalName || "无"}}】;CADID:【{{obj.CadId || "无"}}】;</p>
+        </div>
+        <el-divider>删除设备</el-divider>
+        <div v-for="(item, key) in versionData.deleteData" :key="key">
+          <p>【{{key}}设备类名称】</p>
+          <p v-for="(obj, i) in item" :key="obj.Id">【{{i+1}}】、建筑:【{{obj.BuildingName || "无"}}】;楼层:【{{obj.FloorName || "无"}}】;设备全局id:【{{obj.ObjId || "无"}}】;BIMID:【{{obj.BimId || "无"}}】;设备本地编码:【{{obj.LocalId || "无"}}】;设备本地名称:【{{obj.LocalName || "无"}}】;CADID:【{{obj.CadId || "无"}}】;</p>
+        </div>
+      </el-scrollbar>
+    </div>
     <span slot="footer" class="dialog-footer">
-      <el-button size="small" @click="handleClose">取 消</el-button>
-      <el-button size="small" type="primary">确 定</el-button>
+      <el-button size="small" type="primary" @click="handleClose">确认创建</el-button>
+      <!-- <el-button size="small" type="primary">确 定</el-button> -->
     </span>
   </el-dialog>
 </template>
 
 <script>
 import { mapGetters } from "vuex";
-import request from "@/api/model/file.js";
+import { querySyncLogCount } from "@/api/model/file.js";
 export default {
   components: {
 
   },
+  props: {
+    dialogVisible: Boolean,
+    modelFile: Object,
+  },
   computed: {
     ...mapGetters("layout", ["projectId"]),
     dialog() {
@@ -23,25 +50,60 @@ export default {
   data() {
     return {
       title: "版本文件信息",
+      versionData: {
+        userName: '',
+        acceptTime: '',
+        createData: {},
+        deleteData:{}
+      },
     }
   },
-  props: {
-    dialogVisible: Boolean,
-    modelFile: Object,
-  },
   mounted() { },
   methods: {
     // 关闭弹窗
     handleClose() {
       this.$emit("update:dialogVisible", false);
     },
+    // 获取版本信息
+    getVersionData() {
+      if(this.modelFile.Id || this.modelFile.CurrentModelId){
+        this.versionData.userName = this.modelFile.UserName;
+        this.versionData.acceptTime = this.modelFile.AcceptTime;
+        querySyncLogCount({Filters: `ModelId='${this.modelFile.CurrentModelId?this.modelFile.CurrentModelId:this.modelFile.Id}'`}, res => {
+          res.Content.forEach(item => {
+            if(item.Operation){
+              if(this.versionData.createData[item.Type]){
+                this.versionData.createData[item.Type].push(item);
+              } else {
+                this.versionData.createData[item.Type] = [];
+                this.versionData.createData[item.Type].push(item);
+              }
+            } else {
+              if(this.versionData.deleteData[item.Type]){
+                this.versionData.deleteData[item.Type].push(item);
+              } else {
+                this.versionData.deleteData[item.Type] = [];
+                this.versionData.deleteData[item.Type].push(item);
+              }
+            }
+          });
+          this.$forceUpdate();
+        })
+        console.log(this.versionData)
+      }
+    },
   },
   watch: {
     dialogVisible: {
       handler() {
         if (this.dialogVisible) {
-          // this.tableData = [];
-          // this.getTableData();
+          this.versionData = {
+            userName: '',
+            acceptTime: '',
+            createData: {},
+            deleteData:{}
+          };
+          this.getVersionData();
         }
       },
       immediate: true
@@ -50,5 +112,13 @@ export default {
 };
 </script>
 <style lang="less" scoped>
-
+.content{
+  height: 400px;
+  font-size: 16px;
+  font-weight: 650;
+  color: #333;
+  /deep/ .el-scrollbar__wrap {
+    overflow-x: hidden;
+  }
+}
 </style>