zhangyu 5 lat temu
rodzic
commit
a1bce743d0

+ 10 - 10
config/index.js

@@ -17,20 +17,20 @@ module.exports = {
                     "^/admin": "/"
                 }
             },
-            '/api/datacenter/': {
-                target: 'http://192.168.20.179:8081',
-                changeOrigin: true,
-                pathRewrite: {
-                    "^/api/datacenter": "/"
-                }
-            },
-            // '/api': {
-            //     target: 'http://192.168.20.235:8080',
+            // '/api/datacenter/': {
+            //     target: 'http://192.168.20.179:8081',
             //     changeOrigin: true,
             //     pathRewrite: {
-            //         "^/api": "/"
+            //         "^/api/datacenter": "/"
             //     }
             // },
+            '/api': {
+                target: 'http://192.168.20.235:8080',
+                changeOrigin: true,
+                pathRewrite: {
+                    "^/api": "/"
+                }
+            },
             '/data-platform-3': {
                 // 目标 API 地址
                 target: 'http://192.168.20.225:8080/',

+ 4 - 4
src/components/data_admin/buildTask/detail/deviceDetail.vue

@@ -17,8 +17,8 @@
           <el-form-item label="型号:">{{ detail.Specification || '--' }}</el-form-item>
           <el-form-item label="供应商:">{{ detail.Supplier || '--' }}</el-form-item>
           <el-form-item label="包含部件:">
-            <div v-if="detail.Equipment.Component && detail.Equipment.Component.length">
-              <p v-for="(item, index) in detail.Equipment.Component" :key="index" show-overflow-tooltip>
+            <div v-if="detail.Component && detail.Component.length">
+              <p v-for="(item, index) in detail.Component?detail.Component:[]" :key="index" show-overflow-tooltip>
                {{ item.EquipName }}
               </p>
             </div>
@@ -32,8 +32,8 @@
           <el-form-item label="执行时间:">{{ detail.ProcessTime || '--' }}</el-form-item>
           <el-form-item label="未找到对象信息:"></el-form-item>
           <el-form-item label="部件信息:">
-            <div v-if="detail.Equipment.Component && detail.Equipment.Component.length">
-              <p v-for="(item, index) in detail.Equipment.Component" :key="index" show-overflow-tooltip>
+            <div v-if="detail.Component && detail.Component.length">
+              <p v-for="(item, index) in detail.Component?detail.Component:[]" :key="index" show-overflow-tooltip>
                {{ item.EquipName }}
               </p>
             </div>

+ 76 - 119
src/components/data_admin/buildTask/dialog/modelTaskDialog.vue

@@ -6,27 +6,25 @@
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column type="expand">
           <template slot-scope="props">
-            <p v-if="props.row.partsList && props.row.partsList.length" style="color:#99a9bf;line-height:32px;font-size:14px;">包含的部件:</p>
-            <el-form label-position="left" inline class="demo-table-expand" v-if="props.row.partsList && props.row.partsList.length">
-              <el-form-item v-for="item in props.row.partsList" :key="item.name" :label="`${item.name}:`">
-                <span>{{ item.number }}</span>
+            <p v-if="props.row.ComponentCount && props.row.ComponentCount.length" style="color:#99a9bf;line-height:32px;font-size:14px;">包含的部件:</p>
+            <el-form label-position="left" label-width="auto" inline class="demo-table-expand" v-if="props.row.ComponentCount && props.row.ComponentCount.length">
+              <el-form-item v-for="item in props.row.ComponentCount?props.row.ComponentCount:[]" :key="item.code" :label="`${item.name}:`">
+                <span>{{ item.count }}</span>
               </el-form-item>
             </el-form>
           </template>
         </el-table-column>
-        <el-table-column label="所属模型文件夹" width="110" show-overflow-tooltip>
-          <template slot-scope="scope">{{ scope.row.build }}</template>
-        </el-table-column>
-        <el-table-column label="模型文件名" width="100" show-overflow-tooltip>
-          <template slot-scope="scope">{{ scope.row.floor }}</template>
-        </el-table-column>
+        <el-table-column prop="FolderName" label="所属模型文件夹" width="110" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="FileName" label="模型文件名" width="100" show-overflow-tooltip></el-table-column>
         <el-table-column prop="EquipLocalName" label="设备本地名称" show-overflow-tooltip width="100"></el-table-column>
-        <el-table-column prop="EquipLocalId" label="设备本地编码" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="EquipName" label="设备类" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="installation" label="BIM ID" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="EquipLocalID" label="设备本地编码" show-overflow-tooltip width="100"></el-table-column>
+        <el-table-column prop="EquipCategory.EquipName" label="设备类"></el-table-column>
+        <el-table-column prop="BimId" label="BIM Id" show-overflow-tooltip width="100"></el-table-column>
         <el-table-column prop="type" label="现场验证操作规定" width="150">
           <template slot-scope="scope">
-            <el-button @click.native.prevent="handleOpenDetail(scope.row, tableData)" type="text" size="small">详情</el-button>
+            <el-select style="width:100px;" v-model="scope.row.SchemeId" placeholder="请选择">
+              <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
+            </el-select>
           </template>
         </el-table-column>
         <template slot="empty">
@@ -49,7 +47,7 @@
 </template>
 
 <script>
-import {  } from "@/api/scan/request";
+import { queryEquip } from "@/api/scan/request";
 import { mapGetters } from "vuex";
 export default {
   components: {
@@ -61,55 +59,11 @@ export default {
   data() {
     return {
       title: "确认创建任务",
-      tableData: [{
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1',
-        partsList: [{
-          name: '部件1',
-          number: 6
-        }, {
-          name: '部件2',
-          number: 23
-        }, {
-          name: '部件3',
-          number: 5
-        }, {
-          name: '部件4',
-          number: 9
-        }, {
-          name: '部件5',
-          number: 1
-        }]
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
+      options: [{//方案
+        value: '1',
+        label: '标准'
       }],
+      tableData: [],
       loading: false,
       selections: [], // 选中项
       page: {
@@ -133,16 +87,66 @@ export default {
   methods: {
     getTableData() {
       let params = {
-        Cascade: [{ Name: 'equipCategory' }],
-        Orders: "CreateTime desc, EquipID desc",
+        Cascade: [
+          {
+            Name: "equipCategory",
+            Projection: ["EquipCode", "EquipName"]
+          },
+          {
+            Name: "component",
+            Cascade: [{Name: "equipCategory"}]
+          },
+          {
+            Name: "building",
+            Projection: [ "BuildLocalName", "BuildName", "BuildID" ]
+          },
+          {
+            Name: "floor",
+            Projection: [ "FloorLocalName", "FloorName", "FloorID" ]
+          }
+        ],
+        Filters: `ProjectId='${this.projectId}'`,
+        Orders: "CreateTime desc, EquipID asc",
         PageNumber: this.page.pageNumber,
-        PageSize: this.page.pageSize,
+        PageSize: this.page.pageSize
+      }
+      debugger
+      if(this.params.spaceList && this.params.spaceList.length){
+        //通过平面图区域查询(接口未支持)
+      } else {
+        params.Filters += `;ModelId='${this.params.CurrentModelId}'`
       }
-      // unshaftInSys(params, res => {
-        /**将模型文件夹和模型文件名加入到table数据中 */
-        this.tableData = res.Content
+
+      if(this.params.device){
+        params.Filters += `;Category='${this.params.category}'`
+      }
+
+      queryEquip(params, res => {
+        this.tableData = res.Content.map(item => {
+          if(item.Component && item.Component.length){
+            item.ComponentCount = []
+            item.Component.map(parts => {
+              if(parts.EquipCategory && parts.EquipCategory.EquipCode && parts.EquipCategory.EquipName){
+                let index = item.ComponentCount.findIndex(c => {return c.code == parts.EquipCategory.EquipCode})
+                if(index != -1){
+                  item.ComponentCount[index].count++
+                } else {
+                  item.ComponentCount.push({
+                    name: parts.EquipCategory.EquipName,
+                    code: parts.EquipCategory.EquipCode,
+                    count: 1
+                  })
+                }
+              }
+            })
+          }
+          item.FolderName = this.params.modelFolderName
+          item.FileName = this.params.modelFileName
+          item.SchemeId = "1"
+          return item
+        })
         this.page.total = res.Total
-      // })
+      })
     },
     //选中项修改
     handleSelectionChange(val) {
@@ -169,6 +173,7 @@ export default {
     },
     //改变pageno
     handleCurrentChange(pageNo) {
+      this.page.pageNumber = 1
       this.page.pageNumber = pageNo;
       this.getTableData();
     },
@@ -179,55 +184,7 @@ export default {
   watch: {
     dialogVisible(newData,oldData){
       if(newData){
-        this.tableData = [{
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1',
-        partsList: [{
-          name: '部件1',
-          number: 6
-        }, {
-          name: '部件2',
-          number: 23
-        }, {
-          name: '部件3',
-          number: 5
-        }, {
-          name: '部件4',
-          number: 9
-        }, {
-          name: '部件5',
-          number: 1
-        }]
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }]
+        this.tableData = []
         this.page.pageNumber = 1
         this.getTableData()
       }

+ 0 - 2
src/components/data_admin/buildTask/draw/drawModel.vue

@@ -81,11 +81,9 @@ export default {
         if(list.length){
           return list
         } else {
-          this.$message('请选择模型空间')
           return []
         }
       } else {
-        this.$message('请选择模型空间')
         return []
       }
     },

+ 1 - 0
src/components/data_admin/buildTask/table/assetsTable.vue

@@ -152,6 +152,7 @@ export default {
     },
     // 改变pageno
     handleCurrentChange(pageNo) {
+      this.page.pageNumber = 1
       this.page.pageNumber = pageNo;
       this.getTableData()
     }

+ 18 - 0
src/components/data_admin/buildTask/table/deviceTable.vue

@@ -130,6 +130,23 @@ export default {
       queryDeviceTask(params, res => {
         this.page.total = res.Total;
         this.tableData = res.Content.map(item => {
+          if(item.Component && item.Component.length){
+            item.ComponentCount = []
+            item.Component.map(parts => {
+              if(parts.EquipCategory && parts.EquipCategory.EquipCode && parts.EquipCategory.EquipName){
+                let index = item.ComponentCount.findIndex(c => {return c.code == parts.EquipCategory.EquipCode})
+                if(index != -1){
+                  item.ComponentCount[index].count++
+                } else {
+                  item.ComponentCount.push({
+                    name: parts.EquipCategory.EquipName,
+                    code: parts.EquipCategory.EquipCode,
+                    count: 1
+                  })
+                }
+              }
+            })
+          }
           item.TaskState = this.taskStateMap[item.TaskState]
           return item
         })
@@ -163,6 +180,7 @@ export default {
     },
     // 改变pageno
     handleCurrentChange(pageNo) {
+      this.page.pageNumber = 1
       this.page.pageNumber = pageNo;
       this.getTableData()
     }

+ 19 - 1
src/components/data_admin/buildTask/table/modelTable.vue

@@ -113,12 +113,29 @@ export default {
       queryModelTask(params, res => {
         this.page.total = res.Total;
         this.tableData = res.Content.map(item => {
+          if(item.Component && item.Component.length){
+            item.ComponentCount = []
+            item.Component.map(parts => {
+              if(parts.EquipCategory && parts.EquipCategory.EquipCode && parts.EquipCategory.EquipName){
+                let index = item.ComponentCount.findIndex(c => {return c.code == parts.EquipCategory.EquipCode})
+                if(index != -1){
+                  item.ComponentCount[index].count++
+                } else {
+                  item.ComponentCount.push({
+                    name: parts.EquipCategory.EquipName,
+                    code: parts.EquipCategory.EquipCode,
+                    count: 1
+                  })
+                }
+              }
+            })
+          }
           item.TaskState = this.taskStateMap[item.TaskState]
           return item
         })
       })
     },
-    // 删除关系
+    // 删除任务
     handleDelete(index, row) {
       this.$confirm("确认删除该任务?", "提示", {
         confirmButtonText: '确定',
@@ -146,6 +163,7 @@ export default {
     },
     // 改变pageno
     handleCurrentChange(pageNo) {
+      this.page.pageNumber = 1
       this.page.pageNumber = pageNo;
       this.getTableData()
     }

+ 1 - 0
src/components/data_admin/buildTask/table/replaceTable.vue

@@ -159,6 +159,7 @@ export default {
     },
     // 改变pageno
     handleCurrentChange(pageNo) {
+      this.page.pageNumber = 1
       this.page.pageNumber = pageNo;
       this.getTableData()
     }

+ 1 - 0
src/components/data_admin/buildTask/table/tearTable.vue

@@ -159,6 +159,7 @@ export default {
     },
     // 改变pageno
     handleCurrentChange(pageNo) {
+      this.page.pageNumber = 1
       this.page.pageNumber = pageNo;
       this.getTableData()
     }

+ 35 - 49
src/views/data_admin/buildTask/addTask/addAssetsTask.vue

@@ -15,12 +15,17 @@
         <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%" @selection-change="handleSelectionChange" :header-cell-style="headerStyle">
           <el-table-column type="selection" width="55"></el-table-column>
           <el-table-column label="所属建筑楼层" width="200">
-            <template slot-scope="scope">{{ scope.row.build }}-{{ scope.row.floor }}</template>
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.Building?scope.row.Building.BuildLocalName?scope.row.Building.BuildLocalName:'':''}} -
+                {{scope.row.Floor?scope.row.Floor.FloorLocalName?scope.row.Floor.FloorLocalName:'':''}}
+              </div>
+            </template>
           </el-table-column>
           <el-table-column prop="EquipLocalName" label="资产本地名称" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="EquipLocalId" label="资产本地编码" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column prop="EquipName" label="设备族"></el-table-column>
-          <el-table-column prop="installation" label="安装位置"></el-table-column>
+          <el-table-column prop="EquipLocalID" label="资产本地编码" show-overflow-tooltip width="200"></el-table-column>
+          <el-table-column prop="FamilyName.Name" label="设备族"></el-table-column>
+          <el-table-column prop="LedgerParam.Siteinstall.InstallLocation" label="安装位置"></el-table-column>
           <template slot="empty">
           <div style="height: 60%;transform: translateY(50%);">
             <i class="icon-wushuju iconfont"></i>
@@ -52,51 +57,20 @@ import { mapGetters } from "vuex"
 import floorCascader from "@/components/ledger/lib/floorCascader"
 import myCascader from "@/components/ledger/lib/assets"
 //api
-import { queryPartsDie, createPropertys } from "@/api/scan/request";
+import { queryPartsDie, createPropertys, queryProperty } from "@/api/scan/request";
 export default {
   data() {
     return {
       params: {},
       loading: false,
+      keycode: '',
       page: {
         pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
         total: 0
       },
-      tableData: [{
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }],
+      tableData: [],
       multipleSelection:[],
       headerStyle: {
         backgroundColor: '#e1e4e5',
@@ -116,7 +90,7 @@ export default {
     this.params = this.$route.query
   },
   mounted() {
-    
+    this.getTableData()
   },
   watch: {
     projectId() {}
@@ -126,7 +100,7 @@ export default {
     goBack() {
       this.$router.push({ name: "buildTask" })
     },
-    //选择设备或部件
+    //选择设备
     changeDevice(val) {
       if(val.code) {
         this.params.category = val.code
@@ -153,7 +127,7 @@ export default {
     getTableData() {
       this.loading = true
       let param = this.formatFilter()
-      queryPartsDie(param, res => {
+      queryProperty(param, res => {
         this.tableData = res.Content
         this.page.total = res.Total
         this.loading = false
@@ -164,8 +138,7 @@ export default {
       let param = {
         Cascade: [
           {
-            Name: "equipCategory",
-            Projection: ["EquipCode", "EquipName"]
+            Name: "familyName"
           },
           {
             Name: "building",
@@ -176,22 +149,34 @@ export default {
             Projection: [ "FloorLocalName", "FloorName", "FloorID" ]
           }
         ],
-        Filters: `category='${this.params.category}';PropertyId isNull`,
-        Orders: "createTime desc, EquipID asc",
+        Filters: `ProjectId='${this.projectId}'`,
+        Orders: "CreateTime desc, EquipID asc",
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
 
+      if(this.params.isVerification){
+        param.Filters += `;TaskState isNull'`
+      }
+
+      if(this.keycode){
+        param.Filters += `;LedgerParam.Siteinstall.InstallLocation contain '${this.keycode}'`
+      }
+
+      if(this.params.category){
+        param.Filters += `;Family='${this.params.category}'`
+      }
+
       if (this.params.buildId == "noKnow") {
-        param.Filters += `;buildingId isNull`
+        param.Filters += `;BuildingId isNull`
       } else if (this.params.buildId && this.params.buildId != "all") {
-        param.Filters += `;buildingId='${this.params.buildId}'`
+        param.Filters += `;BuildingId='${this.params.buildId}'`
       }
 
       if (this.params.floorId == "noKnow") {
-        param.Filters += `;floorId isNull`
+        param.Filters += `;FloorId isNull`
       } else if (this.params.floorId && this.params.floorId != "all") {
-        param.Filters += `;floorId='${this.params.floorId}'`
+        param.Filters += `;FloorId='${this.params.floorId}'`
       }
 
       return param
@@ -207,6 +192,7 @@ export default {
     },
     //切换页数
     handleCurrentChange(val) {
+      this.page.pageNumber = 1
       this.page.pageNumber = val
       this.getTableData()
     },

+ 52 - 65
src/views/data_admin/buildTask/addTask/addDeviceTask.vue

@@ -15,24 +15,31 @@
           <el-table-column type="selection" width="55"></el-table-column>
           <el-table-column type="expand">
             <template slot-scope="props">
-              <p v-if="props.row.partsList && props.row.partsList.length" style="color:#99a9bf;line-height:32px;font-size:14px;">包含的部件:</p>
-              <el-form label-position="left" inline class="demo-table-expand" v-if="props.row.partsList && props.row.partsList.length">
-                <el-form-item v-for="item in props.row.partsList" :key="item.name" :label="`${item.name}:`">
-                  <span>{{ item.number }}</span>
+              <p v-if="props.row.ComponentCount && props.row.ComponentCount.length" style="color:#99a9bf;line-height:32px;font-size:14px;">包含的部件:</p>
+              <el-form label-position="left" label-width="auto" inline class="demo-table-expand" v-if="props.row.ComponentCount && props.row.ComponentCount.length">
+                <el-form-item v-for="item in props.row.ComponentCount?props.row.ComponentCount:[]" :key="item.code" :label="`${item.name}:`">
+                  <span>{{ item.count }}</span>
                 </el-form-item>
               </el-form>
             </template>
           </el-table-column>
           <el-table-column label="所属建筑楼层" width="200">
-            <template slot-scope="scope">{{ scope.row.build }}-{{ scope.row.floor }}</template>
+            <template slot-scope="scope">
+              <div>
+                {{scope.row.Building?scope.row.Building.BuildLocalName?scope.row.Building.BuildLocalName:'':''}} -
+                {{scope.row.Floor?scope.row.Floor.FloorLocalName?scope.row.Floor.FloorLocalName:'':''}}
+              </div>
+          </template>
           </el-table-column>
           <el-table-column prop="EquipLocalName" label="设备本地名称" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="EquipLocalId" label="设备本地编码" show-overflow-tooltip width="200"></el-table-column>
-          <el-table-column prop="EquipName" label="设备类"></el-table-column>
-          <el-table-column prop="installation" label="安装位置"></el-table-column>
+          <el-table-column prop="EquipLocalID" label="设备本地编码" show-overflow-tooltip width="200"></el-table-column>
+          <el-table-column prop="EquipCategory.EquipName" label="设备类"></el-table-column>
+          <el-table-column prop="LedgerParam.Siteinstall.InstallLocation" label="安装位置"></el-table-column>
           <el-table-column prop="type" label="现场验证操作规定" width="200">
             <template slot-scope="scope">
-              <el-button @click.native.prevent="handleOpenDetail(scope.row, tableData)" type="text" size="small">详情</el-button>
+              <el-select style="width:100px;" v-model="scope.row.SchemeId" placeholder="请选择">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              </el-select>
             </template>
           </el-table-column>
           <template slot="empty">
@@ -79,55 +86,11 @@ export default {
         pageNumber: 1,
         total: 0
       },
-      tableData: [{
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1',
-        partsList: [{
-          name: '部件1',
-          number: 6
-        }, {
-          name: '部件2',
-          number: 23
-        }, {
-          name: '部件3',
-          number: 5
-        }, {
-          name: '部件4',
-          number: 9
-        }, {
-          name: '部件5',
-          number: 1
-        }]
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
-      }, {
-        build: 'A栋',
-        floor: '12F',
-        EquipLocalName: 'XXXXXXXXXXX',
-        EquipLocalId: '5484161891',
-        EquipName: '低压开关柜',
-        installation: '王小虎夫妻店',
-        type: '1'
+      options: [{//方案
+        value: '1',
+        label: '标准'
       }],
+      tableData: [],
       multipleSelection:[],
       headerStyle: {
         backgroundColor: '#e1e4e5',
@@ -189,8 +152,27 @@ export default {
       this.loading = true
       let param = this.formatFilter()
       queryEquip(param, res => {
-        debugger
-        this.tableData = res.Content
+        this.tableData = res.Content.map(item => {
+          if(item.Component && item.Component.length){
+            item.ComponentCount = []
+            item.Component.map(parts => {
+              if(parts.EquipCategory && parts.EquipCategory.EquipCode && parts.EquipCategory.EquipName){
+                let index = item.ComponentCount.findIndex(c => {return c.code == parts.EquipCategory.EquipCode})
+                if(index != -1){
+                  item.ComponentCount[index].count++
+                } else {
+                  item.ComponentCount.push({
+                    name: parts.EquipCategory.EquipName,
+                    code: parts.EquipCategory.EquipCode,
+                    count: 1
+                  })
+                }
+              }
+            })
+          }
+          item.SchemeId = "1"
+          return item
+        })
         this.page.total = res.Total
         this.loading = false
       })
@@ -204,7 +186,8 @@ export default {
             Projection: ["EquipCode", "EquipName"]
           },
           {
-            Name: "property"
+            Name: "component",
+            Cascade: [{Name: "equipCategory"}]
           },
           {
             Name: "building",
@@ -220,6 +203,14 @@ export default {
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
+      
+      if(this.params.isVerification){
+        param.Filters += `;TaskState isNull'`
+      }
+
+      if(this.keycode){
+        param.Filters += `;LedgerParam.Siteinstall.InstallLocation contain '${this.keycode}'`
+      }
 
       if(this.params.category){
         param.Filters += `;Category='${this.params.category}'`
@@ -250,14 +241,10 @@ export default {
     },
     //切换页数
     handleCurrentChange(val) {
+      this.page.pageNumber = 1
       this.page.pageNumber = val
       this.getTableData()
     },
-    //查看详情
-    handleOpenDetail(row) {
-      // window.open(`http://adm.sagacloud.cn:8058/spread?id=${row.EquipID}&pid=${this.projectId}&secret=${this.secret}`,"_blank")
-      this.$message("开发中...")
-    },
     //创建已选
     handleClickCreate() {
       let list = this.multipleSelection.map((item) => {

+ 6 - 4
src/views/data_admin/buildTask/addTask/addModelTask.vue

@@ -46,7 +46,7 @@ export default {
       modelFolderName: '',//模型文件夹名字
       modelFileName: '',//模型文件名字
       modelFileList: [],
-      CurrentModelId: '',
+      CurrentModelId: '',//模型文件id
       device: '',//设备类别
       spaceList: []//选中的空间
     };
@@ -56,6 +56,7 @@ export default {
     params(){
       return {
         device: this.device,
+        CurrentModelId: this.CurrentModelId,
         modelFolderName: this.modelFolderName,
         modelFileName: this.modelFileName,
         spaceList: this.spaceList
@@ -63,9 +64,6 @@ export default {
     }
   },
   mounted() { },
-  created() {
-    
-  },
   methods: {
     goBack(){//返回
       this.$router.push({name:'buildTask'})
@@ -110,6 +108,10 @@ export default {
       this.device = val.code
     },
     handleClickCreate(){//创建已选
+      if(!this.CurrentModelId){
+        this.$message('请选择模型文件!')
+        return false
+      }
       this.spaceList = this.$refs.drawModel.getSelectedSpaces().map(item => {
         return item.data.SourceId
       })