Browse Source

接口调试

zhangyu 5 years ago
parent
commit
35963650b6

+ 49 - 0
src/api/data_admin/buildTaskApi.js

@@ -32,4 +32,53 @@ export function queryModelTask(param, success) {
 export function updateModelTask(param, success) {
   let url = `${baseUrl}/datacenter/model-scan-task/update`;
   http.postJson(url, param, success)
+}
+
+/*************************设备台账任务接口****************************/
+//创建设备台账任务
+export function createDeviceTask(param, success) {
+  let url = `${baseUrl}/datacenter/equip-scan-task/create`;
+  http.postJson(url, param, success)
+}
+//根据id删除设备台账任务
+export function deleteDeviceTask(param, success) {
+  let url = `${baseUrl}/datacenter/equip-scan-task/delete`;
+  http.postJson(url, param, success)
+}
+//查询设备台账任务
+export function queryDeviceTask(param, success) {
+  let url = `${baseUrl}/datacenter/equip-scan-task/page-query`;
+  http.postJson(url, param, success)
+}
+//更新设备台账任务
+export function updateDeviceTask(param, success) {
+  let url = `${baseUrl}/datacenter/equip-scan-task/update`;
+  http.postJson(url, param, success)
+}
+
+/*************************资产台账任务接口****************************/
+//统计数量
+export function countAssetsTask(param, success) {
+  let url = `${baseUrl}/datacenter/property-scan-task/count`;
+  http.postJson(url, param, success)
+}
+//创建设备台账任务
+export function createAssetsTask(param, success) {
+  let url = `${baseUrl}/datacenter/property-scan-task/create`;
+  http.postJson(url, param, success)
+}
+//根据id删除设备台账任务
+export function deleteAssetsTask(param, success) {
+  let url = `${baseUrl}/datacenter/property-scan-task/delete`;
+  http.postJson(url, param, success)
+}
+//查询设备台账任务
+export function queryAssetsTask(param, success) {
+  let url = `${baseUrl}/datacenter/property-scan-task/page-query`;
+  http.postJson(url, param, success)
+}
+//更新设备台账任务
+export function updateAssetsTask(param, success) {
+  let url = `${baseUrl}/datacenter/property-scan-task/update`;
+  http.postJson(url, param, success)
 }

+ 49 - 56
src/components/data_admin/buildTask/table/assetsTable.vue

@@ -4,27 +4,23 @@
       <el-table :data="tableData" style="width: 100%" height="100%" v-loading="loading" :header-cell-style="headerStyle">
         <el-table-column label="所属建筑楼层" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            <div>{{scope.row.build}}-{{scope.row.floor}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100">
-          <template slot-scope="scope">
             <div>
-              {{scope.row.EquipLocalName}}
-              <el-badge :value="scope.row.partsNum" class="item" type="warning"></el-badge>
+              {{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="EquipLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="EquipCategory.EquipName" label="设备族" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="CADID" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="taskType" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="LocalName" :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="LocalId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="Family" label="设备族" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="InstallLocation" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="TaskState" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
         <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
-            <i v-if="scope.row.taskType == '待验证' || scope.row.taskType == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证' || scope.row.TaskState == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
           </template>
         </el-table-column>
         <template slot="empty">
@@ -39,17 +35,18 @@
      :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="page.total">
     </el-pagination>
     <el-drawer title="任务详情" :visible.sync="drawer" direction="rtl" size="600px">
-      <span>我来啦!</span>
+      <assets-detail :id="detailId"></assets-detail>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import {  } from "@/api/scan/request";
-import { mapGetters } from "vuex";
+import { queryAssetsTask, deleteAssetsTask } from "@/api/data_admin/buildTaskApi"
+import { mapGetters } from "vuex"
+import assetsDetail from '../detail/assetsDetail'
 export default {
   components: {
-    
+    assetsDetail
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
@@ -62,24 +59,19 @@ export default {
       inSpaceType: '资产',
       loading: false, // loading
       drawer: false, // 详情侧弹窗
+      detailId: '',
+      tableData: [], //列表数据
       page: {
         pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
         total: 0
       },
-      tableData: [{
-        build: 'A栋',
-        floor: '3F',
-        EquipLocalName: '风机',
-        partsNum: 8,
-        EquipLocalID: 'AS123124343',
-        EquipCategory: {
-          EquipName: '风机'
-        },
-        CADID: '6486416846184879',
-        taskType: '未找到'
-      }], //列表数据
+      taskStateMap: {
+        '-1': '未找到',
+        '0': '已完成',
+        '1': '待验证'
+      },
       headerStyle: {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
@@ -97,32 +89,39 @@ export default {
         Filters: `ProjectId='${this.projectId}'`,
         Cascade: [
           {
-            Name: 'equipmentList',
-            Cascade: [{ Name: 'equipCategory' }]
+            Name: 'familyName'
+          }, {
+            Name: 'building',
+          }, {
+            Name: 'floor',
           }
         ],
-        Orders: "createTime desc, EquipID asc",
+        Orders: "CreateTime desc, TaskId asc",
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
       if (this.paramsData.buildfloor[0] == "noKnow") {
-        param.Filters += `buildingId isNull`
+        params.Filters += `;BuildingId isNull`
       } else if (this.paramsData.buildfloor[0] && this.paramsData.buildfloor[0] != "all") {
-        param.Filters += `buildingId='${this.paramsData.buildfloor[0]}'`
+        params.Filters += `;BuildingId='${this.paramsData.buildfloor[0]}'`
         if (this.paramsData.buildfloor[1] == "noKnow") {
-          param.Filters += `;floorId isNull`
+          params.Filters += `;FloorId isNull`
         } else if (this.paramsData.buildfloor[1] && this.paramsData.buildfloor[1] != "all") {
-          param.Filters += `;floorId='${this.paramsData.buildfloor[1]}'`
+          params.Filters += `;FloorId='${this.paramsData.buildfloor[1]}'`
         }
       }
-      if(this.paramsData.taskState){
-        params.Filters += `;TaskState='${this.paramsData.taskState}'`
+      if(this.paramsData.taskState !== ''){
+        params.Filters += `;TaskState=${this.paramsData.taskState}`
       }
-      if(this.paramsData.category){
-        params.Filters += `;Category='${this.paramsData.category}'`
+      if(this.paramsData.family){
+        params.Filters += `;Family='${this.paramsData.family}'`
       }
-      queryCenoteTableData(params, res => {
-        this.tableData = res.Content[0].EquipmentList || []
+      queryAssetsTask(params, res => {
+        this.page.total = res.Total;
+        this.tableData = res.Content.map(item => {
+          item.TaskState = this.taskStateMap[item.TaskState]
+          return item
+        })
       })
     },
     // 删除关系
@@ -132,25 +131,19 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        // let params = {
-        //   EquipId: row.EquipID,
-        //   ShaftId: this.params.ShaftID
-        // }
-        // this.deleteEqInSh(params);
+        let params = [{TaskId: row.TaskId}]
+        deleteAssetsTask(params, res => {
+          this.$message.success('删除成功')
+          this.getTableData()
+        })
       }).catch(() => {
         this.$message("取消删除")
       })
     },
-    // 删除设备所在竖井关系
-    deleteEqInSh(params) {
-      // eqinshUnlink(params, res => {
-      //   this.$message.success('删除成功')
-      //   this.getTableData()
-      // })
-    },
     //查看任务详情
     handleDetail() {
       this.drawer = true
+      this.detailId = row.TaskId
     },
     // 改变pagesize
     handleSizeChange(pageSize) {

+ 66 - 53
src/components/data_admin/buildTask/table/deviceTable.vue

@@ -4,27 +4,41 @@
       <el-table :data="tableData" style="width: 100%" height="100%" v-loading="loading" :header-cell-style="headerStyle">
         <el-table-column label="所属建筑楼层" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            <div>{{scope.row.build}}-{{scope.row.floor}}</div>
+            <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 :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
             <div>
-              {{scope.row.EquipLocalName}}
-              <el-badge :value="scope.row.partsNum" class="item" type="warning"></el-badge>
+              {{scope.row.LocalName}}
+              <el-badge v-if="scope.row.Equipment?scope.row.Equipment.Component?scope.row.Equipment.Component.length:false:false" 
+                :value="scope.row.Equipment?scope.row.Equipment.Component?scope.row.Equipment.Component.length:0:0" class="item" type="warning">
+              </el-badge>
             </div>
           </template>
         </el-table-column>
-        <el-table-column prop="EquipLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="EquipCategory.EquipName" :label="`${inSpaceType}类型`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="CADID" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="taskType" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="LocalId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="Equipment.EquipCategory.EquipName" :label="`${inSpaceType}类型`" show-overflow-tooltip min-width="100">
+          <template slot-scope="scope">
+            <div>
+              {{scope.row.Equipment?
+              scope.row.Equipment.EquipCategory?
+              scope.row.Equipment.EquipCategory.EquipName?
+              scope.row.Equipment.EquipCategory.EquipName:'':'':''}}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column prop="InstallLocation" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="TaskState" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
         <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
-            <i v-if="scope.row.taskType == '待验证' || scope.row.taskType == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证' || scope.row.TaskState == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
           </template>
         </el-table-column>
         <template slot="empty">
@@ -39,17 +53,18 @@
      :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="page.total">
     </el-pagination>
     <el-drawer title="任务详情" :visible.sync="drawer" direction="rtl" size="600px">
-      <span>我来啦!</span>
+      <device-detail :id="detailId"></device-detail>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import {  } from "@/api/scan/request";
-import { mapGetters } from "vuex";
+import { queryDeviceTask, deleteDeviceTask } from "@/api/data_admin/buildTaskApi"
+import { mapGetters } from "vuex"
+import deviceDetail from '../detail/deviceDetail'
 export default {
   components: {
-    
+    deviceDetail
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
@@ -62,24 +77,19 @@ export default {
       inSpaceType: '设备',
       loading: false, // loading
       drawer: false, // 详情侧弹窗
+      detailId: '',
+      tableData: [], //列表数据
       page: {
         pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
         total: 0
       },
-      tableData: [{
-        build: 'A栋',
-        floor: '3F',
-        EquipLocalName: '风机',
-        partsNum: 8,
-        EquipLocalID: 'AS123124343',
-        EquipCategory: {
-          EquipName: '风机'
-        },
-        CADID: '6486416846184879',
-        taskType: '未找到'
-      }], //列表数据
+      taskStateMap: {
+        '-1': '未找到',
+        '0': '已完成',
+        '1': '待验证'
+      },
       headerStyle: {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
@@ -97,32 +107,41 @@ export default {
         Filters: `ProjectId='${this.projectId}'`,
         Cascade: [
           {
-            Name: 'equipmentList',
-            Cascade: [{ Name: 'equipCategory' }]
+            Name: 'component'
+          }, {
+            Name: 'building',
+          }, {
+            Name: 'floor',
+          }, {
+            Name: 'equipCategory'
           }
         ],
-        Orders: "createTime desc, EquipID asc",
+        Orders: "CreateTime desc, TaskId asc",
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
       if (this.paramsData.buildfloor[0] == "noKnow") {
-        param.Filters += `buildingId isNull`
+        params.Filters += `;BuildingId isNull`
       } else if (this.paramsData.buildfloor[0] && this.paramsData.buildfloor[0] != "all") {
-        param.Filters += `buildingId='${this.paramsData.buildfloor[0]}'`
+        params.Filters += `;BuildingId='${this.paramsData.buildfloor[0]}'`
         if (this.paramsData.buildfloor[1] == "noKnow") {
-          param.Filters += `;floorId isNull`
+          params.Filters += `;FloorId isNull`
         } else if (this.paramsData.buildfloor[1] && this.paramsData.buildfloor[1] != "all") {
-          param.Filters += `;floorId='${this.paramsData.buildfloor[1]}'`
+          params.Filters += `;FloorId='${this.paramsData.buildfloor[1]}'`
         }
       }
-      if(this.paramsData.taskState){
-        params.Filters += `;TaskState='${this.paramsData.taskState}'`
+      if(this.paramsData.taskState !== ''){
+        params.Filters += `;TaskState=${this.paramsData.taskState}`
       }
-      if(this.paramsData.family){
-        params.Filters += `;Family='${this.paramsData.family}'`
+      if(this.paramsData.category){
+        params.Filters += `;Category='${this.paramsData.category}'`
       }
-      queryCenoteTableData(params, res => {
-        this.tableData = res.Content[0].EquipmentList || []
+      queryDeviceTask(params, res => {
+        this.page.total = res.Total;
+        this.tableData = res.Content.map(item => {
+          item.TaskState = this.taskStateMap[item.TaskState]
+          return item
+        })
       })
     },
     // 删除关系
@@ -132,25 +151,19 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        // let params = {
-        //   EquipId: row.EquipID,
-        //   ShaftId: this.params.ShaftID
-        // }
-        // this.deleteEqInSh(params);
+        let params = [{TaskId: row.TaskId}]
+        deleteDeviceTask(params, res => {
+          this.$message.success('删除成功')
+          this.getTableData()
+        })
       }).catch(() => {
         this.$message("取消删除")
       })
     },
-    // 删除设备所在竖井关系
-    deleteEqInSh(params) {
-      // eqinshUnlink(params, res => {
-      //   this.$message.success('删除成功')
-      //   this.getTableData()
-      // })
-    },
     //查看任务详情
-    handleDetail() {
+    handleDetail(index, row) {
       this.drawer = true
+      this.detailId = row.TaskId
     },
     // 改变pagesize
     handleSizeChange(pageSize) {

+ 18 - 21
src/components/data_admin/buildTask/table/modelTable.vue

@@ -8,22 +8,26 @@
           <template slot-scope="scope">
             <div>
               {{scope.row.LocalName}}
-              <el-badge v-if="scope.row.Equipment.Component?scope.row.Equipment.Component.length:false" 
-                :value="scope.row.Equipment.Component?scope.row.Equipment.Component.length:0" class="item" type="warning">
+              <el-badge v-if="scope.row.Equipment?scope.row.Equipment.Component?scope.row.Equipment.Component.length:false:false" 
+                :value="scope.row.Equipment?scope.row.Equipment.Component?scope.row.Equipment.Component.length:0:0" class="item" type="warning">
               </el-badge>
             </div>
           </template>
         </el-table-column>
         <el-table-column prop="LocalId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="EquipCategory.EquipName" :label="`${inSpaceType}类型`" show-overflow-tooltip min-width="80"></el-table-column>
+        <el-table-column :label="`${inSpaceType}类型`" show-overflow-tooltip min-width="80">
+          <template slot-scope="scope">
+            <div>{{scope.row.EquipCategory?scope.row.EquipCategory.EquipName?scope.row.EquipCategory.EquipName:'':''}}</div>
+          </template>
+        </el-table-column>
         <el-table-column prop="BIMID" label="BIM ID" show-overflow-tooltip min-width="190"></el-table-column>
         <el-table-column prop="TaskState" label="任务执行情况" show-overflow-tooltip min-width="60"></el-table-column>
         <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
-            <i v-if="scope.row.taskType == '待验证' || scope.row.taskType == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
-            <i v-if="scope.row.taskType == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证' || scope.row.TaskState == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
           </template>
         </el-table-column>
         <template slot="empty">
@@ -63,6 +67,7 @@ export default {
       loading: false, // loading
       drawer: false, // 详情侧弹窗
       detailId: '',
+      tableData: [], //列表数据
       taskStateMap: {
         '-1': '未找到',
         '0': '已完成',
@@ -74,7 +79,6 @@ export default {
         pageNumber: 1,
         total: 0
       },
-      tableData: [], //列表数据
       headerStyle: {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
@@ -126,26 +130,19 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        // let params = {
-        //   EquipId: row.EquipID,
-        //   ShaftId: this.params.ShaftID
-        // }
-        // this.deleteEqInSh(params);
+        let params = [{TaskId: row.TaskId}]
+        deleteModelTask(params, res => {
+          this.$message.success('删除成功')
+          this.getTableData()
+        })
       }).catch(() => {
         this.$message("取消删除")
       })
     },
-    // 删除设备所在竖井关系
-    deleteEqInSh(params) {
-      // eqinshUnlink(params, res => {
-      //   this.$message.success('删除成功')
-      //   this.getTableData()
-      // })
-    },
     //查看任务详情
     handleDetail(index, row) {
       this.drawer = true
-      this.detailId = row.EquipLocalID
+      this.detailId = row.TaskId
     },
     // 改变pagesize
     handleSizeChange(pageSize) {

+ 77 - 57
src/components/data_admin/buildTask/table/replaceTable.vue

@@ -4,29 +4,25 @@
       <el-table :data="tableData" style="width: 100%" height="100%" v-loading="loading" :header-cell-style="headerStyle">
         <el-table-column label="所属建筑楼层" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            <div>{{scope.row.build}}-{{scope.row.floor}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100">
-          <template slot-scope="scope">
             <div>
-              {{scope.row.EquipLocalName}}
-              <el-badge :value="scope.row.partsNum" class="item" type="warning"></el-badge>
+              {{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="EquipLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="EquipCategory.EquipName" label="设备族" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="CADID" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="taskTyepe" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="action" label="操作" min-width="100">
+        <el-table-column prop="LocalName" :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="LocalId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="Family" label="设备族" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="InstallLocation" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="TaskType" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
+        <!-- <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
-            <i title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
-            <i title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
-            <i title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
-            <i title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证' || scope.row.TaskState == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <template slot="empty">
           <div style="height: 60%;transform: translateY(50%);">
             <i class="icon-wushuju iconfont"></i>
@@ -39,44 +35,46 @@
      :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="page.total">
     </el-pagination>
     <el-drawer title="任务详情" :visible.sync="drawer" direction="rtl" size="600px">
-      <span>我来啦!</span>
+      <assets-detail :id="detailId"></assets-detail>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import {  } from "@/api/scan/request";
-import { mapGetters } from "vuex";
+import { queryAssetsTask, deleteAssetsTask } from "@/api/data_admin/buildTaskApi"
+import { mapGetters } from "vuex"
+import assetsDetail from '../detail/assetsDetail'
 export default {
   components: {
-    
+    assetsDetail
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
   },
+  props: {
+    paramsData: Object,
+  },
   data() {
     return {
-      inSpaceType: '设备',
+      inSpaceType: '资产',
       loading: false, // loading
       drawer: false, // 详情侧弹窗
+      detailId: '',
+      tableData: [], //列表数据
       page: {
         pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
         total: 0
       },
-      tableData: [{
-        build: 'A栋',
-        floor: '3F',
-        EquipLocalName: '风机',
-        partsNum: 8,
-        EquipLocalID: 'AS123124343',
-        EquipCategory: {
-          EquipName: '风机'
-        },
-        CADID: '6486416846184879',
-        taskType: '未找到'
-      }], //列表数据
+      taskTypeMap: {//待撕码,待换码
+
+      },
+      taskStateMap: {
+        '-1': '未找到',
+        '0': '已完成',
+        '1': '待验证'
+      },
       headerStyle: {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
@@ -84,10 +82,6 @@ export default {
       }, // 列表样式
     };
   },
-  props: {
-    // params: Object,
-    // type: String
-  },
   created() {
     // this.getTableData()
   },
@@ -95,19 +89,43 @@ export default {
     // 获取列表数据
     getTableData() {
       let params = {
-        Filters: `ShaftID='${this.params.ShaftID}'`,
+        Filters: `ProjectId='${this.projectId}'`,
         Cascade: [
           {
-            Name: 'equipmentList',
-            Cascade: [{ Name: 'equipCategory' }]
+            Name: 'familyName'
+          }, {
+            Name: 'building',
+          }, {
+            Name: 'floor',
           }
         ],
-        Orders: "createTime desc, EquipID asc",
+        Orders: "CreateTime desc, TaskId asc",
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
-      queryCenoteTableData(params, res => {
-        this.tableData = res.Content[0].EquipmentList || []
+      if (this.paramsData.buildfloor[0] == "noKnow") {
+        params.Filters += `;BuildingId isNull`
+      } else if (this.paramsData.buildfloor[0] && this.paramsData.buildfloor[0] != "all") {
+        params.Filters += `;BuildingId='${this.paramsData.buildfloor[0]}'`
+        if (this.paramsData.buildfloor[1] == "noKnow") {
+          params.Filters += `;FloorId isNull`
+        } else if (this.paramsData.buildfloor[1] && this.paramsData.buildfloor[1] != "all") {
+          params.Filters += `;FloorId='${this.paramsData.buildfloor[1]}'`
+        }
+      }
+      if(this.paramsData.taskState !== ''){
+        params.Filters += `;TaskState=${this.paramsData.taskState}`
+      }
+      if(this.paramsData.family){
+        params.Filters += `;Family='${this.paramsData.family}'`
+      }
+      queryAssetsTask(params, res => {
+        this.page.total = res.Total;
+        this.tableData = res.Content.map(item => {
+          item.TaskState = this.taskStateMap[item.TaskState]
+          item.TaskType = this.taskTypeMap[item.TaskType]
+          return item
+        })
       })
     },
     // 删除关系
@@ -117,25 +135,19 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        // let params = {
-        //   EquipId: row.EquipID,
-        //   ShaftId: this.params.ShaftID
-        // }
-        // this.deleteEqInSh(params);
+        let params = [{TaskId: row.TaskId}]
+        deleteAssetsTask(params, res => {
+          this.$message.success('删除成功')
+          this.getTableData()
+        })
       }).catch(() => {
         this.$message("取消删除")
       })
     },
-    // 删除设备所在竖井关系
-    deleteEqInSh(params) {
-      // eqinshUnlink(params, res => {
-      //   this.$message.success('删除成功')
-      //   this.getTableData()
-      // })
-    },
     //查看任务详情
     handleDetail() {
       this.drawer = true
+      this.detailId = row.TaskId
     },
     // 改变pagesize
     handleSizeChange(pageSize) {
@@ -149,17 +161,25 @@ export default {
     }
   },
   watch: {
-    params: {
+    paramsData: {
       handler(newName, oldName) {
         this.page.pageNumber = 1
         this.getTableData()
       },
+      immediate: true,
       deep: true
     }
   }
 };
 </script>
 <style lang="less" scoped>
+/deep/ .el-drawer__body {
+  height: calc(100% - 80px);
+  border-top: 1px solid #c9c9c9;
+}
+/deep/ .el-drawer__header {
+  margin-bottom: 12px;
+}
 .table-container {
   height: 100%;
   background: #fff;

+ 76 - 56
src/components/data_admin/buildTask/table/tearTable.vue

@@ -4,29 +4,25 @@
       <el-table :data="tableData" style="width: 100%" height="100%" v-loading="loading" :header-cell-style="headerStyle">
         <el-table-column label="所属建筑楼层" show-overflow-tooltip min-width="100">
           <template slot-scope="scope">
-            <div>{{scope.row.build}}-{{scope.row.floor}}</div>
-          </template>
-        </el-table-column>
-        <el-table-column :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100">
-          <template slot-scope="scope">
             <div>
-              {{scope.row.EquipLocalName}}
-              <el-badge :value="scope.row.partsNum" class="item" type="warning"></el-badge>
+              {{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="EquipLocalID" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="EquipCategory.EquipName" label="设备族" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="CADID" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="taskTyepe" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
-        <el-table-column prop="action" label="操作" min-width="100">
+        <el-table-column prop="LocalName" :label="`${inSpaceType}本地名称`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="LocalId" :label="`${inSpaceType}本地编码`" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="Family" label="设备族" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="InstallLocation" label="安装位置" show-overflow-tooltip min-width="100"></el-table-column>
+        <el-table-column prop="TaskType" label="任务执行情况" show-overflow-tooltip min-width="100"></el-table-column>
+        <!-- <el-table-column prop="action" label="操作" min-width="100">
           <template slot-scope="scope">
-            <i title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
-            <i title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
-            <i title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
-            <i title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证' || scope.row.TaskState == '未找到'" title="查看详情" class="iconfont icon-xiangqing table-button" @click="handleDetail(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="重新生成任务" class="iconfont icon-Update table-button" @click="handleRegenerate(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '待验证'" title="删除任务" class="iconfont icon-delete table-button" @click="handleDelete(scope.$index, scope.row)"></i>
+            <i v-if="scope.row.TaskState == '未找到'" title="认可此任务执行情况" class="iconfont icon-lijiqueren table-button" @click="handleConfirm(scope.$index, scope.row)"></i>
           </template>
-        </el-table-column>
+        </el-table-column> -->
         <template slot="empty">
           <div style="height: 60%;transform: translateY(50%);">
             <i class="icon-wushuju iconfont"></i>
@@ -39,44 +35,46 @@
      :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="page.total">
     </el-pagination>
     <el-drawer title="任务详情" :visible.sync="drawer" direction="rtl" size="600px">
-      <span>我来啦!</span>
+      <assets-detail :id="detailId"></assets-detail>
     </el-drawer>
   </div>
 </template>
 
 <script>
-import {  } from "@/api/scan/request";
-import { mapGetters } from "vuex";
+import { queryAssetsTask, deleteAssetsTask } from "@/api/data_admin/buildTaskApi"
+import { mapGetters } from "vuex"
+import assetsDetail from '../detail/assetsDetail'
 export default {
   components: {
-    
+    assetsDetail
   },
   computed: {
     ...mapGetters("layout", ["projectId"])
   },
+  props: {
+    paramsData: Object,
+  },
   data() {
     return {
       inSpaceType: '资产',
       loading: false, // loading
       drawer: false, // 详情侧弹窗
+      detailId: '',
+      tableData: [], //列表数据
       page: {
         pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
         total: 0
       },
-      tableData: [{
-        build: 'A栋',
-        floor: '3F',
-        EquipLocalName: '风机',
-        partsNum: 8,
-        EquipLocalID: 'AS123124343',
-        EquipCategory: {
-          EquipName: '风机'
-        },
-        CADID: '6486416846184879',
-        taskType: '未找到'
-      }], //列表数据
+      taskTypeMap: {//待撕码,待换码
+
+      },
+      taskStateMap: {
+        '-1': '未找到',
+        '0': '已完成',
+        '1': '待验证'
+      },
       headerStyle: {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
@@ -84,10 +82,6 @@ export default {
       }, // 列表样式
     };
   },
-  props: {
-    // params: Object,
-    // type: String
-  },
   created() {
     // this.getTableData()
   },
@@ -95,19 +89,43 @@ export default {
     // 获取列表数据
     getTableData() {
       let params = {
-        Filters: `ShaftID='${this.params.ShaftID}'`,
+        Filters: `ProjectId='${this.projectId}'`,
         Cascade: [
           {
-            Name: 'equipmentList',
-            Cascade: [{ Name: 'equipCategory' }]
+            Name: 'familyName'
+          }, {
+            Name: 'building',
+          }, {
+            Name: 'floor',
           }
         ],
-        Orders: "createTime desc, EquipID asc",
+        Orders: "CreateTime desc, TaskId asc",
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
-      queryCenoteTableData(params, res => {
-        this.tableData = res.Content[0].EquipmentList || []
+      if (this.paramsData.buildfloor[0] == "noKnow") {
+        params.Filters += `;BuildingId isNull`
+      } else if (this.paramsData.buildfloor[0] && this.paramsData.buildfloor[0] != "all") {
+        params.Filters += `;BuildingId='${this.paramsData.buildfloor[0]}'`
+        if (this.paramsData.buildfloor[1] == "noKnow") {
+          params.Filters += `;FloorId isNull`
+        } else if (this.paramsData.buildfloor[1] && this.paramsData.buildfloor[1] != "all") {
+          params.Filters += `;FloorId='${this.paramsData.buildfloor[1]}'`
+        }
+      }
+      if(this.paramsData.taskState !== ''){
+        params.Filters += `;TaskState=${this.paramsData.taskState}`
+      }
+      if(this.paramsData.family){
+        params.Filters += `;Family='${this.paramsData.family}'`
+      }
+      queryAssetsTask(params, res => {
+        this.page.total = res.Total;
+        this.tableData = res.Content.map(item => {
+          item.TaskState = this.taskStateMap[item.TaskState]
+          item.TaskType = this.taskTypeMap[item.TaskType]
+          return item
+        })
       })
     },
     // 删除关系
@@ -117,25 +135,19 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        // let params = {
-        //   EquipId: row.EquipID,
-        //   ShaftId: this.params.ShaftID
-        // }
-        // this.deleteEqInSh(params);
+        let params = [{TaskId: row.TaskId}]
+        deleteAssetsTask(params, res => {
+          this.$message.success('删除成功')
+          this.getTableData()
+        })
       }).catch(() => {
         this.$message("取消删除")
       })
     },
-    // 删除设备所在竖井关系
-    deleteEqInSh(params) {
-      // eqinshUnlink(params, res => {
-      //   this.$message.success('删除成功')
-      //   this.getTableData()
-      // })
-    },
     //查看任务详情
     handleDetail() {
       this.drawer = true
+      this.detailId = row.TaskId
     },
     // 改变pagesize
     handleSizeChange(pageSize) {
@@ -149,17 +161,25 @@ export default {
     }
   },
   watch: {
-    params: {
+    paramsData: {
       handler(newName, oldName) {
         this.page.pageNumber = 1
         this.getTableData()
       },
+      immediate: true,
       deep: true
     }
   }
 };
 </script>
 <style lang="less" scoped>
+/deep/ .el-drawer__body {
+  height: calc(100% - 80px);
+  border-top: 1px solid #c9c9c9;
+}
+/deep/ .el-drawer__header {
+  margin-bottom: 12px;
+}
 .table-container {
   height: 100%;
   background: #fff;

+ 11 - 3
src/components/data_admin/buildTask/taskStatistics.vue

@@ -24,11 +24,11 @@
       </li>
       <li>
         <p class="statistics-list-text">未完成撕码任务:</p>
-        <p class="statistics-list-num">2000</p>
+        <p class="statistics-list-num">{{waitTearCount}}</p>
       </li>
       <li>
         <p class="statistics-list-text">未完成换码任务:</p>
-        <p class="statistics-list-num">2000</p>
+        <p class="statistics-list-num">{{waitReplaceCount}}</p>
       </li>
     </ul>
 	</div>
@@ -36,7 +36,7 @@
 
 <script>
 import { mapGetters } from "vuex"
-import { queryTaskCount } from "@/api/data_admin/buildTaskApi"
+import { queryTaskCount, countAssetsTask } from "@/api/data_admin/buildTaskApi"
 export default {
   components: {
     
@@ -55,6 +55,8 @@ export default {
       alreadyCount: '',//已完成
       notFoundCount: '',//未找到
       waitCount: '',//未完成验证
+      waitTearCount: '',//未完成撕码任务
+      waitReplaceCount: ''//未完成换码任务
     }
   },
   created() {
@@ -74,6 +76,12 @@ export default {
       queryTaskCount({Filters: `TaskState=1`},(res) => {
         this.waitCount = res.Count
       })
+      countAssetsTask({Filters: `TaskState=1&&TaskType='3'`},(res) => {
+        this.waitTearCount = res.Count
+      })
+      countAssetsTask({Filters: `TaskState=1&&TaskType='2'`},(res) => {
+        this.waitReplaceCount = res.Count
+      })
     }
   }
 }

+ 1 - 1
src/components/ledger/lib/assets.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="cascaderMap">
     <span class="buildFloor" style="padding-right: 12px;">设备族</span>
-    <el-select v-model="value" placeholder="请选择" :props="props" filterable :style="isWidth ? '' : 'width:160px;'" size="small" @change="changeVal">
+    <el-select v-model="value" placeholder="请选择" clearable :props="props" filterable :style="isWidth ? '' : 'width:160px;'" size="small" @change="changeVal">
       <el-option  v-for="item in options" :key="item.code" :label="item.facility" :value="item.code"></el-option>
     </el-select>
     <!-- <el-cascader

+ 1 - 1
src/components/ledger/lib/cascader.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="cascaderMap">
     <span class="buildFloor" style="margin-right: 12px;">设备类别</span>
-    <el-select v-model="value" placeholder="请选择" :props="props" filterable :style="isWidth ? '' : 'width:160px;'" size="small" @change="changeVal">
+    <el-select v-model="value" placeholder="请选择" clearable :props="props" filterable :style="isWidth ? '' : 'width:160px;'" size="small" @change="changeVal">
       <el-option  v-for="item in options" :key="item.code" :label="item.facility" :value="item.code"></el-option>
     </el-select>
     <!-- <el-cascader placeholder="请选择" :options="options" v-model="value" :props="props" filterable :style="isWidth ? '' : 'width:160px;'" size="small"

+ 2 - 2
src/views/data_admin/buildTask/index.vue

@@ -114,10 +114,10 @@ export default {
 			this.buildfloor = val
 		},
 		changeDevice(val){//修改设备类型
-			this.category = val
+			this.category = val.code
 		},
 		changeAssets(val){//修改设备族
-			this.family = val
+			this.family = val.code
 		}
   }
 }