Browse Source

adm:fix> 优化添加任务

shaun-sheep 4 years ago
parent
commit
0469619929

+ 58 - 47
src/components/data_admin/buildTask/dialog/modelTaskDialog.vue

@@ -1,15 +1,18 @@
 <template>
   <el-dialog :title="title" :visible.sync="dialogVisible" :before-close="handleClose" width="900px" id="addEqDialog">
     <div class="table-box">
-      <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle" ref="multipleTable"
-        @selection-change="handleSelectionChange">
+      <el-table :data="tableData" style="width: 100%" height="350" v-loading="loading" :header-cell-style="headerStyle"
+                ref="multipleTable"
+                @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column type="expand">
           <template slot-scope="props">
-            <p v-if="props.row.ComponentCount && props.row.ComponentCount.length" style="color:#99a9bf;line-height:32px;font-size:14px;">包含的部件:</p>
+            <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}:`">
+                     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>
@@ -20,7 +23,7 @@
         <el-table-column label="设备本地名称" show-overflow-tooltip width="100">
           <template slot-scope="scope">
             <div>
-              {{scope.row.EquipLocalName}}
+              {{ scope.row.EquipLocalName }}
               <el-badge v-if="scope.row.Component&&scope.row.Component.length?true:false"
                         :value="scope.row.Component&&scope.row.Component.length?scope.row.Component.length:0"
                         class="item" type="warning">
@@ -46,9 +49,11 @@
         </template>
       </el-table>
       <!-- 分页 -->
-      <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange" @current-change="handleCurrentChange"
-        :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize" layout="total, sizes, prev, pager, next, jumper"
-        :total="page.total"></el-pagination>
+      <el-pagination class="fr" v-show="tableData && tableData.length" @size-change="handleSizeChange"
+                     @current-change="handleCurrentChange"
+                     :current-page="page.pageNumber" :page-sizes="page.pageSizes" :page-size="page.pageSize"
+                     layout="total, sizes, prev, pager, next, jumper"
+                     :total="page.total"></el-pagination>
     </div>
     <span slot="footer" class="dialog-footer">
       <el-button size="small" @click="$emit('update:dialogVisible',false)">返回重选</el-button>
@@ -58,30 +63,30 @@
 </template>
 
 <script>
-  import {queryEquip} from "@/api/scan/request"
-  import {createModelTask, queryModelDiglog} from "@/api/data_admin/buildTaskApi"
-  import {mapGetters} from "vuex"
+import {queryEquip} from "@/api/scan/request"
+import {createModelTask, queryModelDiglog} from "@/api/data_admin/buildTaskApi"
+import {mapGetters} from "vuex"
 
-  export default {
-    components: {},
-    computed: {
-      ...mapGetters("layout", ["projectId"])
-    },
-    data() {
-      return {
-        title: "确认创建任务",
-        options: [{//方案
-          value: '1',
-          label: '极简'
-        }, {
-          value: '2',
-          label: '标准'
-        }],
-        tableData: [],
-        loading: false,
-        selections: [], // 选中项
-        page: {
-          pageSize: 50,
+export default {
+  components: {},
+  computed: {
+    ...mapGetters("layout", ["projectId"])
+  },
+  data() {
+    return {
+      title: "确认创建任务",
+      options: [{//方案
+        value: '1',
+        label: '极简'
+      }, {
+        value: '2',
+        label: '标准'
+      }],
+      tableData: [],
+      loading: false,
+      selections: [], // 选中项
+      page: {
+        pageSize: 50,
         pageSizes: [10, 20, 50, 100],
         pageNumber: 1,
         total: 0
@@ -113,7 +118,7 @@
           },
           {
             Name: "component",
-            Cascade: [{ Name: "equipCategory" }]
+            Cascade: [{Name: "equipCategory"}]
           },
           {
             Name: "building",
@@ -124,21 +129,20 @@
             Projection: ["FloorLocalName", "FloorName", "FloorID"]
           }
         ],
-        Filters: `ProjectId='${this.projectId}'`,
+        Filters: `ProjectId='${this.projectId}'${this.params.isVerification == 'true' ? ';TaskState isnull' : ';(TaskState isnull or TaskState !=1 )'}`,
         Orders: "CreateTime desc, EquipID asc",
         PageNumber: this.page.pageNumber,
         PageSize: this.page.pageSize
       }
 
-      if (this.params.isVerification) {
-        // params.Filters += `;(TaskState isNull || TaskState=0 || TaskState=-1)`
-        // params.Filters += `;(TaskState!=0 || TaskState!=-1 || TaskState!=1)`
-        params.Filters += `;TaskState isnull`
-      } else {
-        // params.Filters += `;(TaskState!=1)`
-        params.Filters += `;(TaskState isnull or TaskState !=1 )`
-      }
-
+      // if (this.params.isVerification) {
+      // params.Filters += `;(TaskState isNull || TaskState=0 || TaskState=-1)`
+      // params.Filters += `;(TaskState!=0 || TaskState!=-1 || TaskState!=1)`
+      // params.Filters += `;TaskState isnull`
+      // } else {
+      // params.Filters += `;(TaskState!=1)`
+      // params.Filters += `;(TaskState isnull or TaskState !=1 )`
+      // }
       if (this.params.device) {
         params.Filters += `;Category='${this.params.device}'`
       }
@@ -154,8 +158,8 @@
         let param = {
           ModelId: this.params.CurrentModelId,
           IdList: arr,
-          Category:this.params.device || '',
-         // Filters : `Category='${this.params.device || ''}'`,
+          Category: this.params.device || '',
+          // Filters : `Category='${this.params.device || ''}'`,
           PageNumber: this.page.pageNumber,
           PageSize: this.page.pageSize
         }
@@ -180,7 +184,9 @@
           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 })
+              let index = item.ComponentCount.findIndex(c => {
+                return c.code == parts.EquipCategory.EquipCode
+              })
               if (index != -1) {
                 item.ComponentCount[index].count++
               } else {
@@ -235,7 +241,7 @@
         createModelTask(params, res => {
           this.$emit('update:dialogVisible', false)
           this.$message.success('创建成功!')
-          this.$router.push({ name: 'buildTask', query: { newTaskTypes: this.newTaskTypes } })//跳转回首页
+          this.$router.push({name: 'buildTask', query: {newTaskTypes: this.newTaskTypes}})//跳转回首页
         })
       } else {
         this.$message('请选择要创建的任务!')
@@ -271,12 +277,15 @@
 #addEqDialog {
   .filters {
     margin-bottom: 10px;
+
     /deep/ .el-input__inner {
       vertical-align: baseline;
     }
   }
+
   .table-box {
     height: 370px;
+
     .fr {
       margin-top: 10px;
     }
@@ -288,10 +297,12 @@
 .demo-table-expand {
   font-size: 0;
 }
+
 .demo-table-expand label {
   width: 90px;
   color: #99a9bf;
 }
+
 .demo-table-expand .el-form-item {
   margin-right: 0;
   margin-bottom: 0;

+ 39 - 30
src/views/data_admin/buildTask/addTask/addAssetsTask.vue

@@ -6,19 +6,25 @@
         <el-button style="float:left;" size="small" type="default" icon="el-icon-back" @click="goBack"></el-button>
         <floor-cascader ref="floorCascader" @change="changeFloor"></floor-cascader>
         <my-cascader ref="cascader" @change="changeDevice"></my-cascader>
-        <el-input placeholder="请输入安装位置" style="width: 200px;margin-left:20px;" v-model="keycode" clearable @keyup.enter.native="getTableData">
+        <el-input placeholder="请输入安装位置" style="width: 200px;margin-left:20px;" v-model="keycode" clearable
+                  @keyup.enter.native="getTableData">
           <i slot="suffix" class="el-input__icon el-icon-search" style="cursor:pointer;" @click="getTableData"></i>
         </el-input>
         <el-button style="float:right;margin-top:1px;" @click="handleClickCreate">创建已选</el-button>
       </div>
-      <div class="main" :style="tableData && tableData.length?'height: calc(100% - 96px);':'height: calc(100% - 46px);'">
-        <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%" @selection-change="handleSelectionChange" :header-cell-style="headerStyle">
+      <div class="main"
+           :style="tableData && tableData.length?'height: calc(100% - 96px);':'height: calc(100% - 46px);'">
+        <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">
               <div>
-                {{scope.row.Building?scope.row.Building.BuildLocalName?scope.row.Building.BuildLocalName:'':''}} -
-                {{scope.row.Floor?scope.row.Floor.FloorLocalName?scope.row.Floor.FloorLocalName:'':''}}
+                {{
+                  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>
@@ -29,16 +35,17 @@
           <el-table-column prop="type" label="现场验证操作规定" width="200">
             <template slot-scope="scope">
               <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-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">
-          <div style="height: 60%;transform: translateY(50%);">
-            <i class="icon-wushuju iconfont"></i>
-            数据暂无
-          </div>
-        </template>
+            <div style="height: 60%;transform: translateY(50%);">
+              <i class="icon-wushuju iconfont"></i>
+              数据暂无
+            </div>
+          </template>
         </el-table>
       </div>
       <div class=footer>
@@ -59,15 +66,15 @@
 </template>
 
 <script>
-    import {mapGetters} from "vuex"
-    //组件
-    import floorCascader from "@/components/ledger/lib/floorCascader"
-    import myCascader from "@/components/ledger/lib/assets"
-    //api
-    import {queryProperty} from "@/api/scan/request"
-    import {createAssetsTask} from "@/api/data_admin/buildTaskApi"
+import {mapGetters} from "vuex"
+//组件
+import floorCascader from "@/components/ledger/lib/floorCascader"
+import myCascader from "@/components/ledger/lib/assets"
+//api
+import {queryProperty} from "@/api/scan/request"
+import {createAssetsTask} from "@/api/data_admin/buildTaskApi"
 
-    export default {
+export default {
   data() {
     return {
       params: {},
@@ -87,7 +94,7 @@
         label: '标准'
       }],
       tableData: [],
-      multipleSelection:[],
+      multipleSelection: [],
       headerStyle: {
         backgroundColor: '#e1e4e5',
         color: '#2b2b2b',
@@ -118,11 +125,11 @@
   methods: {
     //返回
     goBack() {
-      this.$router.push({ name: "buildTask" })
+      this.$router.push({name: "buildTask"})
     },
     //选择设备族
     changeDevice(val) {
-      if(val.code) {
+      if (val.code) {
         this.params.category = val.code
       } else {
         this.params.category = ''
@@ -162,11 +169,11 @@
           },
           {
             Name: "building",
-            Projection: [ "BuildLocalName", "BuildName", "BuildID" ]
+            Projection: ["BuildLocalName", "BuildName", "BuildID"]
           },
           {
             Name: "floor",
-            Projection: [ "FloorLocalName", "FloorName", "FloorID" ]
+            Projection: ["FloorLocalName", "FloorName", "FloorID"]
           }
         ],
         Filters: `ProjectId='${this.projectId}'`,
@@ -175,7 +182,7 @@
         PageSize: this.page.pageSize
       }
 
-      if(this.params.isVerification !== false){
+      if (this.params.isVerification == 'true') {
         // params.Filters += `;(TaskState isNull || TaskState=0)`
         // params.Filters += `;(TaskState!=0 || TaskState!=-1 || TaskState!=1)`
         params.Filters += `;TaskState isnull`
@@ -186,11 +193,11 @@
 
       }
 
-      if(this.keycode){
+      if (this.keycode) {
         params.Filters += `;LedgerParam.Siteinstall.InstallLocation contain '${this.keycode}'`
       }
 
-      if(this.params.category){
+      if (this.params.category) {
         params.Filters += `;Family='${this.params.category}'`
       }
 
@@ -243,7 +250,7 @@
         }
         createAssetsTask(param, res => {
           this.$message.success("创建成功!")
-          this.$router.push({ name: "buildTask",query:{ newTaskTypes:this.$route.query.newTaskTypes } })
+          this.$router.push({name: "buildTask", query: {newTaskTypes: this.$route.query.newTaskTypes}})
         })
       } else {
         this.$message('请选择要创建的任务!')
@@ -263,11 +270,13 @@
     border: 1px solid #dfe6ec;
     background: #fff;
     margin-bottom: 10px;
-    .header{
+
+    .header {
       padding-bottom: 10px;
       border-bottom: 1px solid #bcbcbc;
     }
-    .main{
+
+    .main {
       margin-top: 10px;
     }
   }

+ 102 - 86
src/views/data_admin/buildTask/addTask/addDeviceTask.vue

@@ -5,19 +5,25 @@
         <el-button style="float:left;" size="small" type="default" icon="el-icon-back" @click="goBack"></el-button>
         <floor-cascader ref="floorCascader" @change="changeFloor"></floor-cascader>
         <my-cascader ref="cascader" @change="changeDevice"></my-cascader>
-        <el-input placeholder="请输入安装位置" style="width: 200px;margin-left:20px;" v-model="keycode" clearable @keyup.enter.native="getTableData">
+        <el-input placeholder="请输入安装位置" style="width: 200px;margin-left:20px;" v-model="keycode" clearable
+                  @keyup.enter.native="getTableData">
           <i slot="suffix" class="el-input__icon el-icon-search" style="cursor:pointer;" @click="getTableData"></i>
         </el-input>
         <el-button style="float:right;margin-top:1px;" @click="handleClickCreate">创建已选</el-button>
       </div>
-      <div class="main" :style="tableData && tableData.length?'height: calc(100% - 96px);':'height: calc(100% - 46px);'">
-        <el-table ref="multipleTable" :data="tableData" v-loading='loading' stripe height="100%" @selection-change="handleSelectionChange" :header-cell-style="headerStyle">
+      <div class="main"
+           :style="tableData && tableData.length?'height: calc(100% - 96px);':'height: calc(100% - 46px);'">
+        <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 type="expand">
             <template slot-scope="props">
-              <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}:`">
+              <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>
@@ -26,17 +32,21 @@
           <el-table-column label="所属建筑楼层" width="200">
             <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:'':''}}
+                {{
+                  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>
-             <template slot-scope="scope">
+            <template slot-scope="scope">
               <div>
-                {{scope.row.EquipLocalName}}
+                {{ scope.row.EquipLocalName }}
                 <el-badge v-if="scope.row.Component&&scope.row.Component.length?true:false"
-                  :value="scope.row.Component&&scope.row.Component.length?scope.row.Component.length:0" class="item" type="warning">
+                          :value="scope.row.Component&&scope.row.Component.length?scope.row.Component.length:0"
+                          class="item" type="warning">
                 </el-badge>
               </div>
             </template>
@@ -47,7 +57,8 @@
           <el-table-column prop="type" label="现场验证操作规定" width="200">
             <template slot-scope="scope">
               <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-option v-for="item in options" :key="item.value" :label="item.label"
+                           :value="item.value"></el-option>
               </el-select>
             </template>
           </el-table-column>
@@ -77,55 +88,55 @@
 </template>
 
 <script>
-  import {mapGetters} from "vuex"
-  //组件
-  import floorCascader from "@/components/ledger/lib/floorCascader"
-  import myCascader from "@/components/ledger/lib/cascader"
-  //api
-  import {queryEquip} from "@/api/scan/request"
-  import {createDeviceTask} from "@/api/data_admin/buildTaskApi"
+import {mapGetters} from "vuex"
+//组件
+import floorCascader from "@/components/ledger/lib/floorCascader"
+import myCascader from "@/components/ledger/lib/cascader"
+//api
+import {queryEquip} from "@/api/scan/request"
+import {createDeviceTask} from "@/api/data_admin/buildTaskApi"
 
-  export default {
-    data() {
-      return {
-        params: {},
-        loading: false,
-        keycode: '',
-        page: {
-          pageSize: 50,
-          pageSizes: [10, 20, 50, 100],
-          pageNumber: 1,
-          total: 0
-        },
-        options: [{//方案
-          value: '1',
-          label: '极简'
-        }, {
-          value: '2',
-          label: '标准'
-        }],
-        tableData: [],
-        multipleSelection: [],
-        headerStyle: {
-          backgroundColor: '#e1e4e5',
-          color: '#2b2b2b',
-          lineHeight: '30px'
-        }, // 列表样式
-      }
-    },
-    computed: {
-      ...mapGetters("layout", ["projectId", "userId", "secret"])
-    },
-    components: {
-      floorCascader,
-      myCascader
-    },
-    created() {
-      this.params = this.$route.query
-      console.log(this.params)
-    },
-    mounted() {
-      this.getTableData()
+export default {
+  data() {
+    return {
+      params: {},
+      loading: false,
+      keycode: '',
+      page: {
+        pageSize: 50,
+        pageSizes: [10, 20, 50, 100],
+        pageNumber: 1,
+        total: 0
+      },
+      options: [{//方案
+        value: '1',
+        label: '极简'
+      }, {
+        value: '2',
+        label: '标准'
+      }],
+      tableData: [],
+      multipleSelection: [],
+      headerStyle: {
+        backgroundColor: '#e1e4e5',
+        color: '#2b2b2b',
+        lineHeight: '30px'
+      }, // 列表样式
+    }
+  },
+  computed: {
+    ...mapGetters("layout", ["projectId", "userId", "secret"])
+  },
+  components: {
+    floorCascader,
+    myCascader
+  },
+  created() {
+    this.params = this.$route.query
+    console.log(this.params)
+  },
+  mounted() {
+    this.getTableData()
   },
   watch: {
     projectId() {
@@ -137,11 +148,11 @@
   methods: {
     //返回
     goBack() {
-      this.$router.push({ name: "buildTask" })
+      this.$router.push({name: "buildTask"})
     },
     //选择设备或部件
     changeDevice(val) {
-      if(val.code) {
+      if (val.code) {
         this.params.category = val.code
       } else {
         this.params.category = ''
@@ -168,12 +179,14 @@
       let param = this.formatFilter()
       queryEquip(param, res => {
         this.tableData = res.Content.map(item => {
-          if(item.Component && item.Component.length){
+          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){
+              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({
@@ -207,11 +220,11 @@
           },
           {
             Name: "building",
-            Projection: [ "BuildLocalName", "BuildName", "BuildID" ]
+            Projection: ["BuildLocalName", "BuildName", "BuildID"]
           },
           {
             Name: "floor",
-            Projection: [ "FloorLocalName", "FloorName", "FloorID" ]
+            Projection: ["FloorLocalName", "FloorName", "FloorID"]
           }
         ],
         Filters: `ProjectId='${this.projectId}'`,
@@ -220,7 +233,7 @@
         PageSize: this.page.pageSize
       }
 
-      if(this.params.isVerification){
+      if (this.params.isVerification == 'true') {
         // params.Filters += `;(TaskState isNull || TaskState=0 || TaskState=-1)`
         // params.Filters += `;(TaskState!=0 || TaskState!=-1 || TaskState!=1)`
         params.Filters += `;TaskState isnull`
@@ -231,11 +244,11 @@
 
       }
 
-      if(this.keycode){
+      if (this.keycode) {
         params.Filters += `;LedgerParam.Siteinstall.InstallLocation contain '${this.keycode}'`
       }
 
-      if(this.params.category){
+      if (this.params.category) {
         params.Filters += `;Category='${this.params.category}'`
       }
 
@@ -286,7 +299,7 @@
         }
         createDeviceTask(param, res => {
           this.$message.success("创建成功!")
-          this.$router.push({ name: "buildTask",query:{ newTaskTypes:this.$route.query.newTaskTypes } })
+          this.$router.push({name: "buildTask", query: {newTaskTypes: this.$route.query.newTaskTypes}})
         })
       } else {
         this.$message('请选择要创建的任务!')
@@ -314,7 +327,8 @@
       padding-bottom: 10px;
       border-bottom: 1px solid #bcbcbc;
     }
-    .main{
+
+    .main {
       margin-top: 10px;
     }
   }
@@ -322,17 +336,19 @@
 </style>
 
 <style>
-  .demo-table-expand {
-    font-size: 0;
-  }
-  .demo-table-expand label {
-    width: 90px;
-    color: #99a9bf;
-  }
-  .demo-table-expand .el-form-item {
-    margin-right: 0;
-    margin-bottom: 0;
-    margin-left: 120px;
-    width: 100%;
-  }
+.demo-table-expand {
+  font-size: 0;
+}
+
+.demo-table-expand label {
+  width: 90px;
+  color: #99a9bf;
+}
+
+.demo-table-expand .el-form-item {
+  margin-right: 0;
+  margin-bottom: 0;
+  margin-left: 120px;
+  width: 100%;
+}
 </style>

+ 57 - 41
src/views/data_admin/buildTask/addTask/addModelTask.vue

@@ -1,50 +1,55 @@
 <template>
   <div id="bd-fl-manage">
     <div class="header-nav">
-      <el-button style="float:left;margin-right:20px;" size="small" type="default" icon="el-icon-back" @click="goBack"></el-button>
+      <el-button style="float:left;margin-right:20px;" size="small" type="default" icon="el-icon-back"
+                 @click="goBack"></el-button>
       <model-folder ref="modelFolder" @change="handleChangeModelFolder" style="margin-right:10px;"></model-folder>
       <my-cascader :isWidth="false" ref="cascader" @change="changeDevice"></my-cascader>
-      <el-button style="float:right;margin-top:1px;" @click="handleClickCreate">{{buttonContent}}</el-button>
-      <el-switch v-show="CurrentModelId" style="float:right;margin-top:7px;margin-right:20px;" v-model="isLight" active-text="高亮显示未完成验证的区块"></el-switch>
+      <el-button style="float:right;margin-top:1px;" @click="handleClickCreate">{{ buttonContent }}</el-button>
+      <el-switch v-show="CurrentModelId" style="float:right;margin-top:7px;margin-right:20px;" v-model="isLight"
+                 active-text="高亮显示未完成验证的区块"></el-switch>
     </div>
     <el-row>
       <div class="l-list">
         <h4>模型文件</h4>
         <div class="model-file-list">
           <el-scrollbar style="height:100%;">
-            <div v-for="item in modelFileList" :key="item.Id" :class="{'model-file-item':true,'active':item.active}" @click="handleChangeModelFile(item)">
-              <span>{{item.FloorName}}</span>
+            <div v-for="item in modelFileList" :key="item.Id" :class="{'model-file-item':true,'active':item.active}"
+                 @click="handleChangeModelFile(item)">
+              <span>{{ item.FloorName }}</span>
             </div>
           </el-scrollbar>
         </div>
       </div>
       <div class="r-model">
-        <draw-model ref="drawModel" :id="1" :CurrentModelId="CurrentModelId" :modelName="modelName" :isLight="isLight" @changeButtonContent="changeButtonContent"></draw-model>
+        <draw-model ref="drawModel" :id="1" :CurrentModelId="CurrentModelId" :modelName="modelName" :isLight="isLight"
+                    @changeButtonContent="changeButtonContent"></draw-model>
       </div>
     </el-row>
-    <modelTask-dialog :dialogVisible.sync="dialogVisible" :params="params" :newTaskTypes="newTaskTypes"></modelTask-dialog>
+    <modelTask-dialog :dialogVisible.sync="dialogVisible" :params="params"
+                      :newTaskTypes="newTaskTypes"></modelTask-dialog>
   </div>
 </template>
 
 <script>
-  import modelFolder from "@/components/ready/buildfloor/modelFolder"
-  import myCascader from "@/components/ledger/lib/cascader"
-  import drawModel from "@/components/data_admin/buildTask/draw/drawModel"
-  import modelTaskDialog from "@/components/data_admin/buildTask/dialog/modelTaskDialog"
-  import {mapGetters} from "vuex";
-  import request from "@/api/model/file.js";
+import modelFolder from "@/components/ready/buildfloor/modelFolder"
+import myCascader from "@/components/ledger/lib/cascader"
+import drawModel from "@/components/data_admin/buildTask/draw/drawModel"
+import modelTaskDialog from "@/components/data_admin/buildTask/dialog/modelTaskDialog"
+import {mapGetters} from "vuex";
+import request from "@/api/model/file.js";
 
-  export default {
-    components: {
-      modelFolder,
-      myCascader,
-      drawModel,
-      modelTaskDialog
-    },
-    data() {
-      return {
-        isLight: false,//是否高亮未完成验证区块
-        query: {},//query信息
+export default {
+  components: {
+    modelFolder,
+    myCascader,
+    drawModel,
+    modelTaskDialog
+  },
+  data() {
+    return {
+      isLight: false,//是否高亮未完成验证区块
+      query: {},//query信息
       dialogVisible: false,//是否显示弹窗
       modelFolderName: '',//模型文件夹名字
       modelFolderId: '',//模型文件夹的id
@@ -59,7 +64,7 @@
   },
   computed: {
     ...mapGetters("layout", ["projectId"]),
-    params(){
+    params() {
       return {
         device: this.device,
         CurrentModelId: this.CurrentModelId,
@@ -70,26 +75,24 @@
         isVerification: this.query.isVerification
       }
     },
-    modelName () {
+    modelName() {
       return `${this.modelFolderName}-${this.modelFileName}`
     },
   },
   created() {
-
     this.query = this.$route.query
   },
   methods: {
-    goBack(){//返回
-      this.$router.push({name:'buildTask'})
+    goBack() {//返回
+      this.$router.push({name: 'buildTask'})
     },
-    handleChangeModelFolder(item){//切换模型文件夹
+    handleChangeModelFolder(item) {//切换模型文件夹
       let val = item.value
-      if(val){
+      if (val) {
         this.modelFolderName = item.label
         let data = {
           FolderId: val,
           Status: '4',
-          
           ProjectId: this.projectId
         };
         request.queryFloorList(data, res => {
@@ -105,7 +108,7 @@
         this.resetSelected()
       }
     },
-    resetSelected(){
+    resetSelected() {
       this.modelFileList = []
       this.CurrentModelId = ''
       this.modelFolderName = ''
@@ -115,9 +118,9 @@
       this.dialogVisible = false
       this.$refs.drawModel.clearGraphy()
     },
-    handleChangeModelFile(file){//切换模型文件
+    handleChangeModelFile(file) {//切换模型文件
       this.modelFileList.map(item => {
-        file.Id == item.Id?item.active = true:item.active = false
+        file.Id == item.Id ? item.active = true : item.active = false
         return item
       })
       this.CurrentModelId = file.CurrentModelId
@@ -125,11 +128,11 @@
       this.modelFileName = file.FloorName
       this.newTaskTypes = this.$route.query.newTaskTypes
     },
-    changeDevice(val){//切换设备类别
+    changeDevice(val) {//切换设备类别
       this.device = val.code
     },
-    handleClickCreate(){//创建已选
-      if(!this.CurrentModelId){
+    handleClickCreate() {//创建已选
+      if (!this.CurrentModelId) {
         this.$message('请选择模型文件!')
         return false
       }
@@ -138,7 +141,7 @@
       })
       this.dialogVisible = true
     },
-    changeButtonContent(val){// 通过判断是否选中模型空间调整文案
+    changeButtonContent(val) {// 通过判断是否选中模型空间调整文案
       this.buttonContent = val;
     }
   },
@@ -154,12 +157,15 @@
   overflow: hidden;
   height: 100%;
   position: relative;
-  .header-nav{
+
+  .header-nav {
     height: 32px;
     padding-bottom: 10px;
   }
+
   .el-row {
     height: calc(100% - 50px);
+
     & > div {
       float: left;
       height: 100%;
@@ -167,17 +173,21 @@
       background-color: #fff;
       box-sizing: border-box;
       border: 1px solid #dfe6ec;
+
       .action-box {
         padding: 10px;
+
         .el-button--small {
           padding: 10px 11px;
         }
       }
     }
+
     .l-list {
       width: 250px;
       height: 100%;
       border-right: 0;
+
       h4 {
         padding-left: 10px;
         border-top: 1px solid #d9d9d9;
@@ -186,21 +196,26 @@
         color: #333;
         line-height: 44px;
       }
+
       .model-file-list {
         height: calc(100% - 46px);
         line-height: 48px;
-        /deep/.el-scrollbar__wrap {
+
+        /deep/ .el-scrollbar__wrap {
           overflow-x: hidden;
         }
+
         .model-file-item {
           white-space: nowrap;
           overflow: hidden;
           text-overflow: ellipsis;
           cursor: pointer;
+
           span {
             margin-left: 10px;
           }
         }
+
         .model-file-item.active,
         .model-file-item:hover {
           background-color: #f5f7fa;
@@ -208,6 +223,7 @@
         }
       }
     }
+
     .r-model {
       width: calc(100% - 250px);
       box-sizing: border-box;

+ 106 - 103
src/views/data_admin/buildTask/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<div>
+  <div>
     <task-statistics ref="statistics"></task-statistics>
     <div class="hanson-bar">
       <el-cascader v-model="taskTypes" :options="taskTypeList" filterable @change="handleChangeTask"
@@ -28,91 +28,91 @@
       <tear-table v-else-if="taskType == 'tear'"></tear-table>
       <replace-table v-else-if="taskType == 'replace'"></replace-table>
     </div>
-		<add-task :addTaskDialog.sync="addTaskDialog" :newTaskTypes="newTaskTypes"></add-task>
-	</div>
+    <add-task :addTaskDialog.sync="addTaskDialog" :newTaskTypes="newTaskTypes"></add-task>
+  </div>
 </template>
 
 <script>
-  import {mapGetters} from "vuex"
-  import taskStatistics from '@/components/data_admin/buildTask/taskStatistics'
-  import floorCascader from "@/components/ledger/lib/floorCascader"
+import {mapGetters} from "vuex"
+import taskStatistics from '@/components/data_admin/buildTask/taskStatistics'
+import floorCascader from "@/components/ledger/lib/floorCascader"
 
-  import taskState from "@/components/data_admin/buildTask/lib/taskState"
-  import modelFile from "@/components/data_admin/buildTask/lib/modelFile"
-  import modelCascader from "@/components/data_admin/buildTask/lib/modelCascader"
-  import deviceCascader from "@/components/data_admin/buildTask/lib/deviceCascader"
-  import assetsCascader from "@/components/data_admin/buildTask/lib/assetsCascader"
+import taskState from "@/components/data_admin/buildTask/lib/taskState"
+import modelFile from "@/components/data_admin/buildTask/lib/modelFile"
+import modelCascader from "@/components/data_admin/buildTask/lib/modelCascader"
+import deviceCascader from "@/components/data_admin/buildTask/lib/deviceCascader"
+import assetsCascader from "@/components/data_admin/buildTask/lib/assetsCascader"
 
-  import modelTable from "@/components/data_admin/buildTask/table/modelTable"
-  import deviceTable from "@/components/data_admin/buildTask/table/deviceTable"
-  import assetsTable from "@/components/data_admin/buildTask/table/assetsTable"
-  import tearTable from "@/components/data_admin/buildTask/table/tearTable"
-  import replaceTable from "@/components/data_admin/buildTask/table/replaceTable"
-  import addTask from "@/components/data_admin/buildTask/dialog/addTaskDialog"
+import modelTable from "@/components/data_admin/buildTask/table/modelTable"
+import deviceTable from "@/components/data_admin/buildTask/table/deviceTable"
+import assetsTable from "@/components/data_admin/buildTask/table/assetsTable"
+import tearTable from "@/components/data_admin/buildTask/table/tearTable"
+import replaceTable from "@/components/data_admin/buildTask/table/replaceTable"
+import addTask from "@/components/data_admin/buildTask/dialog/addTaskDialog"
 
-  export default {
-    components: {
-      taskState,
-      modelCascader,
-      taskStatistics,
-      floorCascader,
-      modelFile,
-      deviceCascader,
-      assetsCascader,
-      modelTable,
-      deviceTable,
-      assetsTable,
-      tearTable,
-      replaceTable,
-      addTask
-    },
-    computed: {
-      ...mapGetters("layout", ["projectId", "secret", "userId"]),
-      taskType() {
-        return this.taskTypes.slice(-1)[0]
-      }
-    },
-    data() {
-      return {
-        taskTypeList: [
-          {
-            value: "verification", label: '现场验证任务', children: [
-              {value: "model", label: '现场验证模型'},
-              {value: "device", label: '现场验证设备台账'},
-              {value: "assets", label: '现场验证资产台账'}
-            ]
-          },
-                {value: "tear", label: '现场撕码任务'},
-				{ value: "replace", label: '现场换码任务' }
-			],
-			taskStateList: [{
-				value: '',
-				label: '全部'
-			}, {
-				value: 1,
-				label: '待验证'
-			}, {
-				value: 0,
-				label: '已完成'
-			}, {
-				value: -1,
-				label: '未找到'
-			}],
-			taskState: '',//任务执行情况
-			modelFile: '',//模型文件
-			modelCategory: '',//模型-设备类型
-			deviceCategory: '',//设备-设备类型
-			family: '',//设备族
-			buildfloor: ['all'],//建筑楼层
-			taskTypes: [],
-			addTaskDialog: false, //是否显示添加任务弹窗
-			newTaskTypes:''
+export default {
+  components: {
+    taskState,
+    modelCascader,
+    taskStatistics,
+    floorCascader,
+    modelFile,
+    deviceCascader,
+    assetsCascader,
+    modelTable,
+    deviceTable,
+    assetsTable,
+    tearTable,
+    replaceTable,
+    addTask
+  },
+  computed: {
+    ...mapGetters("layout", ["projectId", "secret", "userId"]),
+    taskType() {
+      return this.taskTypes.slice(-1)[0]
     }
-	},
-	created(){
-		this.$route.query.newTaskTypes?this.newTaskTypes = this.$route.query.newTaskTypes:this.newTaskTypes = ['verification','model']
-		this.taskTypes = this.newTaskTypes
-	},
+  },
+  data() {
+    return {
+      taskTypeList: [
+        {
+          value: "verification", label: '现场验证任务', children: [
+            {value: "model", label: '现场验证模型'},
+            {value: "device", label: '现场验证设备台账'},
+            {value: "assets", label: '现场验证资产台账'}
+          ]
+        },
+        {value: "tear", label: '现场撕码任务'},
+        {value: "replace", label: '现场换码任务'}
+      ],
+      taskStateList: [{
+        value: '',
+        label: '全部'
+      }, {
+        value: 1,
+        label: '待验证'
+      }, {
+        value: 0,
+        label: '已完成'
+      }, {
+        value: -1,
+        label: '未找到'
+      }],
+      taskState: '',//任务执行情况
+      modelFile: '',//模型文件
+      modelCategory: '',//模型-设备类型
+      deviceCategory: '',//设备-设备类型
+      family: '',//设备族
+      buildfloor: ['all'],//建筑楼层
+      taskTypes: [],
+      addTaskDialog: false, //是否显示添加任务弹窗
+      newTaskTypes: ''
+    }
+  },
+  created() {
+    this.$route.query.newTaskTypes ? this.newTaskTypes = this.$route.query.newTaskTypes : this.newTaskTypes = ['verification', 'model']
+    this.taskTypes = this.newTaskTypes
+  },
   methods: {
     upData() {
       this.$refs.statistics.upDataList()
@@ -143,36 +143,39 @@
       this.family = val.Code
     },
     handleAddTaskDialog() {
-      if(this.taskTypes[0] =='tear' ||this.taskTypes[0] =='replace' ) {
+      if (this.taskTypes[0] == 'tear' || this.taskTypes[0] == 'replace') {
         this.$message.info('产品设计中。。。')
       } else {
-      this.addTaskDialog = true
+        this.addTaskDialog = true
       }
     }
   }
 }
 </script>
 <style lang="scss" scoped>
-	.hanson-bar {
-    height: 40px;
-    padding: 5px 0;
-    font-size: 14px;
-    overflow: hidden;
-    margin-top: 0;
-    line-height: 40px;
-		position: relative;
-		.condition-list{
-			display: inline-block;
-			vertical-align: middle;
-			line-height: 32px;
-		}
-		.add-task{
-			position: absolute;
-			right: 0;
-			top: 9px;
-		}
-	}
-	.tabel-box{
-		height: calc(100% - 170px);
-	}
+.hanson-bar {
+  height: 40px;
+  padding: 5px 0;
+  font-size: 14px;
+  overflow: hidden;
+  margin-top: 0;
+  line-height: 40px;
+  position: relative;
+
+  .condition-list {
+    display: inline-block;
+    vertical-align: middle;
+    line-height: 32px;
+  }
+
+  .add-task {
+    position: absolute;
+    right: 0;
+    top: 9px;
+  }
+}
+
+.tabel-box {
+  height: calc(100% - 170px);
+}
 </style>