Browse Source

调试完成部分接口

YaolongHan 5 years ago
parent
commit
ee1437133a

+ 78 - 91
src/api/model/file.js

@@ -3,7 +3,8 @@
  * @date 2019/08/12
  * @info 模型管理/模型文件管理
  */
-import httputils from '@/utils/httputils'
+import httputils from '@/api/scan/httpUtil'
+import { Message } from 'element-ui';
 const baseUrl = '/modelapi'
 
 let api = {
@@ -12,95 +13,65 @@ let api = {
      * 
      * @param {Name:string,ProjectId:string} params 
      */
-    createModel(params) {
-        let data = {
-            Content: [params]
-        };
+    createModel(params, success) {
         let Name = params.Name;
-        // 查询是否有该模型文件夹
-        return new Promise((reslove, reject) => {
-            if(!Name){
-                reslove('文件夹不能为空!')
-            };
-            this.queryModel(Name).then((res) => {
-                if (res.Total == 0) {
-                    // 创建
-                    httputils.postJson(`${baseUrl}/model-folder/create`, data).then((res) => {
-                        reslove(res.EntityList[0])
-                    }).catch((err) => {
-                        reject(err)
-                    })
-                } else {
-                    reject('该文件夹已经创建!')
-                }
-            }).catch((err) => {
-                reject(err)
-            })
+        this.queryModel(Name,(res)=>{
+            if(res.Total == 0){
+                let data = {
+                    Content: [params]
+                };
+                // 查询是否有该模型文件夹
+                // 创建
+                httputils.postJson(`${baseUrl}/model-folder/create`, data, success)
+            }else{
+                Message.error({message:'该文件夹已经存在!'});
+            }
         })
-
     },
     //删除模型文件夹
     /**
      * 
      * @param {Id:string} params 
      */
-    deleteModel(params) {
-        let Content = [params]
-        return new Promise((reslove,reject)=>{
-            httputils.postJson(`${baseUrl}/model-folder/delete`,Content).then(res=>{
-                reslove(res.Result)
-            }).catch((err)=>{
-                reject(err)
-            })
-        })
+    deleteModel(params, success) {
+        let Content = [params];
+        httputils.postJson(`${baseUrl}/model-folder/delete`, Content, success)
     },
     //修改模型文件夹名称
-     /**
-     * 
-     * @param {Name:string,ProjectId:string} params 
-     */
-    updateModelName(params) {
-        let data = {
-            Content: [params]
-        };
+    /**
+    * 
+    * @param {Name:string,ProjectId:string} params 
+    */
+    updateModelName(params, success) {
         let Name = params.Name;
-        // 查询是否有该模型文件夹
-        return new Promise((reslove, reject) => {
-            if(!Name){
-                reslove('文件夹名称不能为空!')
-            };
-            this.queryModel(Name).then((res) => {
-                if (res.Total == 0) {
-                    // 创建
-                    httputils.postJson(`${baseUrl}/model-folder/update`, data).then((res) => {
-                        reslove(res.Result)
-                    }).catch((err) => {
-                        reject(err)
-                    })
-                } else {
-                    reject('该文件夹名称已存在!')
-                }
-            }).catch((err) => {
-                reject(err)
-            })
+        this.queryModel(Name,(res)=>{
+            if(res.Total == 0){
+                let data = {
+                    Content: [params]
+                };
+                // 更改文件夹名称
+                httputils.postJson(`${baseUrl}/model-folder/update`, data, success)
+            }else{
+                Message.error({message:'该文件夹已经存在!'});
+            }
         })
     },
     //查询模型文件夹
     /** 
      * @param Name string  注:查询多个 Name = '' 
     */
-    queryModel(Name) {
+    queryModel(Name, success) {
         let data = null;
-        if(Name){
+        if (Name) {
             // 单个查询
             data = {
-                Filters: `Name='${Name}'` 
+                Filters: `Name='${Name}'`
             }
-        }else{
+        } else {
             // 多个查询
             data = {}
         }
-        return httputils.postJson(`${baseUrl}/model-folder/query`, data)
+        return httputils.postJson(`${baseUrl}/model-folder/query`, data, success)
     },
 
 
@@ -108,57 +79,73 @@ let api = {
     //以下是楼层文件接口
 
     // 查询模型文件夹下的所有模型文件
-    queryFloor(data){
-        let params ={
-            ProjectId:data.ProjectId,
-            Filters:`folderId='${data.folderId}'`
+    queryFloor(data, success) {
+        let Filters = `FolderId='${data.folderId}'`;
+        if(data.FloorName){
+            Filters = `FolderId='${data.folderId}',ModelName='${data.FloorName}',ProjectId='${data.ProjectId}'`;
+        }
+        let params = {
+            Filters: Filters
         }
-        return httputils.postJson(`${baseUrl}/model-floor/create`,params)
+        return httputils.postJson(`${baseUrl}/model-floor/query`, params, success)
     },
     // 创建楼层文件
-    createFloor(){
-        return new Promise((reslove,reject)=>{
-            httputils.postJson(`${baseUrl}/model-floor/create`, param).then((res)=>{
-                if(res.Result == 'success'){
-                    this.uploadModelFile(param).then((res)=>{
-                          reslove(res)
-                    })
-                }else{
-                    reject(res.Result )
-                }
-            }).catch((err)=>{
-                reject(err)
-            })
+    createFloor(params, success) {
+        // 判断该楼层文件是否存在
+        // let Name = params.Name;
+                  let data = {
+                    Content: [params]
+                };
+                console.log(params)
+        this.queryFloor(params,(res)=>{
+            console.log('queryFloor',res)
+            // if(res.Total == 0){
+            //     let data = {
+            //         Content: [params]
+            //     };
+            //     // 创建模型文件
+            //     this.createModelFile(data,(res)=>{
+            //     // 创建楼层文件(传入模型文件id)
+            //      httputils.postJson(`${baseUrl}/model-floor/create`, data, success)
+            //     })
+            
+            // }else{
+            //     Message.error({message:'该楼层文件已经存在!'});
+            // }
         })
     },
     // 删除楼层文件
-    deleteFloor(data){
+    deleteFloor(data) {
         return httputils.postJson(`${baseUrl}/model-floor/delete`, data)
     },
     //编辑楼层文件得名字
-    updateFloorName(data){
+    updateFloorName(data) {
         return httputils.postJson(`${baseUrl}/model-floor/update`, data)
     },
 
 
     //一下是楼层文件接口
 
+    // 创建楼层文件
+    createModelFile(data,success) {
+        return httputils.postJson(`${baseUrl}/model-floor/create`, data,success)
+    },
     //删除模型文件
-    deleteModelFile(data){
+    deleteModelFile(data) {
         return httputils.postJson(`${baseUrl}/model-file/delete`, data)
     },
     // 上传模型文件
-    uploadModelFile(data){
+    uploadModelFile(data) {
         return httputils.postJson(`${baseUrl}/model-file/upload`, data)
     },
     //更新楼层文件
-    upDateModelFile(){
+    upDateModelFile() {
         return httputils.postJson(`${baseUrl}/model-floor/update`, data)
     },
     //查询模型文件 
-    queryModelFile(){
+    queryModelFile() {
         return httputils.postJson(`${baseUrl}/model-floor/query`, data)
     }
-    
+
 }
 export default api

+ 59 - 34
src/components/model/file/addFloorDialog.vue

@@ -12,7 +12,9 @@
           <el-upload
             class="upload-demo"
             ref="upload"
-            action="https://jsonplaceholder.typicode.com/posts/"
+            :headers="headers"
+            :data="updataData"
+            action="/modelapi/model-file/upload"
             :on-preview="handlePreview"
             :on-remove="handleRemove"
             :file-list="fileList"
@@ -75,73 +77,96 @@ import { mapGetters } from "vuex";
 export default {
   props: {
     addFloorFileVisible: Boolean,
+    FolderName: String,
     FolderId:String
   },
-    computed: {
+  computed: {
     ...mapGetters("layout", ["projectId", "userId", "secret"])
   },
   data() {
     return {
       form: {
-        desc: "",              //描述
-        floorTypeVal: "选项1", //楼层类型得值
-        interlayerTypeVal: "选项1", //夹层类型得值
+        desc: "", //描述
+        floorTypeVal: "F", //楼层类型得值
+        interlayerTypeVal: "M1", //夹层类型得值
         haveInterlayer: false, //是否有夹层
-        file: null,            //上传文件
-        floorNum:1             //楼层
+        file: null, //上传文件
+        floorNum: 1 //楼层
       },
-      fileList: [],          //上传楼层列表
+      fileList: [], //上传楼层列表
       floorType: [
         {
-          value: "选项1",
+          value: "F",
           label: "正常层(F)"
         },
         {
-          value: "选项2",
+          value: "RF",
           label: "屋顶(RF)"
         },
         {
-          value: "选项3",
+          value: "B",
           label: "地下(B)"
         }
       ],
       interlayerType: [
         {
-          value: "选项1",
+          value: "M1",
           label: "夹层M1"
         },
         {
-          value: "选项2",
+          value: "M2",
           label: "夹层M2"
         },
         {
-          value: "选项3",
-          label: "夹层M2"
+          value: "M3",
+          label: "夹层M3"
         }
       ],
-      value: ""
+      value: "",
+      //请求头
+      headers: {
+        ProjectId: ""
+      },
+      updataData: {
+        model: {}
+      }
     };
   },
   methods: {
     onSubmit() {
-      if(this.form.file == null){
-         this.$message.error('模型文件不能为空!');
-      }else{
-         let data = {
-           ProjectId:this.projectId,
-           FolderId:this.FolderId,
-           FloorName:this.form.floorTypeVal + this.form.floorNum
-         }
-         request.createFloor(data).then((res)=>{
-         let data1 = {
-           form : this.form,
-           res:res.data
-         }
-         this.$emit('finishCreateFloor',data1)
-         this.handleClose()
-         }).catch((error)=>{
-          this.$message.error(error);
-         })
+      if (this.form.file == null) {
+        this.$message.error("模型文件不能为空!");
+      } else {
+        let FloorName = null;
+        // 根据是否有夹层拼接楼层名
+        if (this.haveInterlayer) {
+          FloorName =
+            this.form.floorTypeVal + this.form.floorNum + interlayerType;
+        } else {
+          FloorName = this.form.floorTypeVal + this.form.floorNum;
+        }
+        let data = {
+          ProjectId: this.projectId,
+          folderId: this.FolderId,
+          FloorName: FloorName
+        };
+        request.createFloor(data, res => {
+          // let data1 = {
+          //   form: this.form,
+          //   res: res.data
+          // };
+          // this.$emit("finishCreateFloor", data1);
+          // this.handleClose();
+          this.headers.ProjectId = this.projectId;
+          this.updataData.model =JSON.stringify({
+            floorModelId:res.EntityList[0].Id,
+            modelName:this.FolderName,
+            userId:this.userId,
+            note:this.form.desc,
+            userName:''
+          });
+          // this.$refs.upload.submit();
+        });
       }
     },
     // /上传到服务器/

+ 2 - 6
src/components/model/file/addFolder.vue

@@ -52,20 +52,16 @@ export default {
     addFolder() {
       this.$refs["addFolderModel"].validate(valid => {
         if (valid) {
-          this.createModel(this.ruleForm.name)
-            .then(res => {
+          request.createModel({ ProjectId: this.projectId, Name:this.ruleForm.name },res => {
               this.$message({
                 message: "模型文件夹创建成功",
                 type: "success"
+
               });
               // 重新获取文件夹列表
               this.$emit('getfolderModel')
               this.closeDiaLog();
             })
-            .catch(err => {
-              this.$message.error(err);
-              this.closeDiaLog();
-            });
         } else {
           return false;
         }

+ 17 - 19
src/components/model/file/changeFolderName.vue

@@ -36,7 +36,7 @@ export default {
   props: {
     changeFolderNameVisible: Boolean,
     folderName: String,
-    currentFolderId:String
+    currentFolderId: String
   },
   data() {
     return {
@@ -58,21 +58,22 @@ export default {
     changeFolder() {
       this.$refs["changeFolderModelName"].validate(valid => {
         if (valid) {
-            console.log(valid,'vals')
-          this.updateModelName(this.ruleForm.name)
-            .then(res => {
-              this.$message({
-                message: "模型文件夹创建成功",
-                type: "success"
-              });
-              // 重新获取文件夹列表
-              this.$emit("finishChangeFolderName");
-              this.closeDiaLog();
-            })
-            .catch(err => {
-              this.closeDiaLog();
-              this.$message.error(err);
-            });
+          if (this.folderName == this.ruleForm.name) {
+            this.$message({ message: "文件夹名字不可与原来相同!",type:'error' });
+          } else {
+            request.updateModelName(
+              { Name: this.ruleForm.name, Id: this.currentFolderId },
+              () => {
+                this.$message({
+                  message: "模型文件夹创建成功",
+                  type: "success"
+                });
+                // 重新获取文件夹列表
+                this.$emit("finishChangeFolderName");
+                this.closeDiaLog();
+              }
+            );
+          }
         } else {
           return false;
         }
@@ -80,9 +81,6 @@ export default {
     },
     resetForm() {
       this.$refs["changeFolderModelName"].resetFields();
-    },
-    updateModelName(Name) {
-      return request.updateModelName({Name,Id:this.currentFolderId});
     }
   },
   watch: {

+ 46 - 0
src/components/model/file/floorTable.vue

@@ -0,0 +1,46 @@
+<template>
+  <el-table
+    :data="tableData"
+    style="width: 100%"
+    :header-cell-style="{background:'#ccc',color:'#000'}"
+  >
+    <el-table-column prop="date" label="模型文件" width="180">
+      <template slot-scope="scope">
+        <i class="el-icon-document-checked icon_font"></i>
+        <span style="margin-left: 10px">{{ scope.row.date }}</span>
+      </template>
+    </el-table-column>
+    <el-table-column prop="name" label="备注" width="180"></el-table-column>
+    <el-table-column prop="address" label="版本号"></el-table-column>
+    <el-table-column prop="address" label="上传时间"></el-table-column>
+    <el-table-column prop="address" label="上传人"></el-table-column>
+    <el-table-column prop="address" label="操作">
+      <template slot-scope="scope">
+        <el-button type="primary" class="icon_font" icon="el-icon-download"></el-button>
+        <el-button
+          type="primary"
+          class="icon_font"
+          icon="el-icon-goods"
+          @click="repliaceModel(scope.row)"
+        ></el-button>
+        <el-button type="primary" class="icon_font" icon="el-icon-date" @click="queryModelLog"></el-button>
+      </template>
+    </el-table-column>
+  </el-table>
+</template>
+<script>
+export default {
+  data() {
+    return {};
+  },
+  methods: {
+    queryModelLog() {},
+    repliaceModel() {}
+  }
+};
+</script>
+<style scoped>
+.box-card {
+  min-height: 800px;
+}
+</style>

+ 32 - 36
src/views/model/file/index.vue

@@ -42,7 +42,6 @@
     </el-col>
     <!-- 右边文件表格 -->
     <el-col :span="19">
-      <div class="grid-content"></div>
       <el-card class="box-card" :body-style="{ padding: '0px' }">
         <!-- 顶部操作栏 -->
         <div class="top_hand right_top_hand">
@@ -54,10 +53,10 @@
           style="width: 100%"
           :header-cell-style="{background:'#ccc',color:'#000'}"
         >
-          <el-table-column prop="date" label="模型文件" width="180">
+          <el-table-column prop="FloorName" label="模型文件" width="180">
             <template slot-scope="scope">
               <i class="el-icon-document-checked icon_font"></i>
-              <span style="margin-left: 10px">{{ scope.row.date }}</span>
+              <span style="margin-left: 10px">{{ scope.row.FloorName }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="name" label="备注" width="180"></el-table-column>
@@ -96,9 +95,10 @@
     <!-- 新增楼层 -->
     <addFloorDialog
       :addFloorFileVisible="addFloorFileVisible"
+      :FolderName="currentFolderName"
       :FolderId="currentFolderId"
       @closeAddFloorDia="addFloorFileVisible=false"
-      @finishCreateFloor='uploadModelFIle'
+      @finishCreateFloor="uploadModelFIle"
     ></addFloorDialog>
     <!-- 新增文件夹名称 -->
     <addFolder
@@ -157,7 +157,7 @@ export default {
       currentFolderId: "", //当前选择的文件夹id
       currentFolderName: "", //当前选择文件夹的Name
       tableData: [],
-      loading: false //加载loading
+      loading: false, //加载loading
     };
   },
   methods: {
@@ -169,7 +169,7 @@ export default {
       this.currentFolderId = item.Id;
       this.currentFolderName = item.Name;
       // 获取模型文件夹对应得楼层文件
-      this.queryModel()
+      this.queryFloorFile(this.currentFolderId);
     },
     //新增模型文件夹
     addFolder() {
@@ -182,19 +182,17 @@ export default {
         confirmButtonText: "确定",
         callback: action => {
           if (action == "confirm") {
-            let params = { Id:this.currentFolderId,ProjectId:this.projectId};
-            request
-              .deleteModel(params)
-              .then(res => {
-                this.$message({
-                  message: "删除成功!",
-                  type: "success"
-                });
-                this.queryModel();
-              })
-              .catch(err => {
-                this.$message.error(err);
+            let params = {
+              Id: this.currentFolderId,
+              ProjectId: this.projectId
+            };
+            request.deleteModel(params, res => {
+              this.$message({
+                message: "删除成功!",
+                type: "success"
               });
+              this.queryModel();
+            });
           } else {
             this.$message({
               type: "info",
@@ -209,57 +207,55 @@ export default {
       this.folderName = this.currentFolderName;
       this.changeFolderNameVisible = true;
     },
-        // 查询所有文件夹模型
+    // 查询所有文件夹模型
     queryModel() {
       this.loading = true;
-      request.queryModel("").then(res => {
+      request.queryModel("", res => {
         this.navigationModel = res.Content;
         //默认选择第一个文件夹
         this.choiceIndex = 1;
         this.currentFolderName = this.navigationModel[0].Name;
         this.currentFolderId = this.navigationModel[0].Id;
         this.loading = false;
-        this.queryFloorFile(this.currentFolderId)
+        this.queryFloorFile(this.currentFolderId);
       });
     },
 
-
     ///一下是楼层文件
 
     //获取楼层文件
     /**
      * @param currentFolderId 当前选择得楼层id
      */
-    queryFloorFile(currentFolderId){
-         let data ={
-           folderId:currentFolderId,
-           ProjectId:this.projectId
-         }
-         request.queryFloor(data).then((res)=>{
-            this.loading = false;
-         })
+    queryFloorFile(currentFolderId) {
+      let data = {
+        folderId: currentFolderId,
+        ProjectId: this.projectId
+      };
+      request.queryFloor(data, res => {
+        this.tableData = res.Content
+        this.loading = false;
+      });
     },
     //添加楼层文件
     addFloorFile() {
       this.addFloorFileVisible = true;
     },
 
-
     //以下是文件模型
 
-
     //替换文件模型
     repliaceModel(e) {
       this.repliceModelVisible = true;
     },
-    uploadModelFIle(){
-      console.log('上传文件');
-      this.queryFloorFile()
+    uploadModelFIle(data) {
+      // request.uploadModelFile(0);
+      // this.queryFloorFile();
     },
     //查看模型日志
     queryModelLog() {
       this.modelLogVisible = true;
-    },
+    }
   },
   mounted() {
     this.queryModel();