whj hai 11 meses
pai
achega
4754265f46
Modificáronse 1 ficheiros con 213 adicións e 120 borrados
  1. 213 120
      src/views/sb/info/SpecialSbInfo2.vue

+ 213 - 120
src/views/sb/info/SpecialSbInfo2.vue

@@ -1,67 +1,94 @@
 <template>
   <div>
+    <a-space v-show="visible" :size="50">
+      <div class="filter-icon" :class="current===0?'active':''" @click="handleFilter(0)">
+        <my-icon type="icon-shebeiguanli"></my-icon>
+        <div>全部</div>
+      </div>
+      <div class="filter-icon" :class="current===1?'active':''" @click="handleFilter(1)">
+        <my-icon type="icon-cangkuxinxi"></my-icon>
+        <div>在库</div>
+      </div>
+      <div class="filter-icon" :class="current===2?'active':''" @click="handleFilter(2)">
+        <my-icon type="icon-jijubaofeishenqing"></my-icon>
+        <div>
+          报废
+        </div>
+      </div>
+      <div class="filter-icon" :class="current===3?'active':''" @click="handleFilter(3)">
+        <a-icon type="exclamation-circle" theme="filled" />
+        <div>
+          预警
+        </div>
+      </div>
+    </a-space>
     <a-card :bordered="false" v-show="visible">
-      <a-row :gutter="8" >
-        <a-col :span="24">
-          <div>
-            <div class="table-page-search-wrapper">
-              <a-form layout="inline">
-                <a-row :gutter="48">
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="关键字">
-                      <a-input v-model.trim="queryParam.keyword" placeholder="设备编号"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="车间位置">
-                      <a-select v-model="queryParam.positionId" placeholder="请选择">
-                        <a-select-option
-                          v-for="({id,name}) in sbPositionData"
-                          :key="id"
-                          :label="name"
-                          :value="id">{{ name }}
-                        </a-select-option>
-                      </a-select>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="设备名称">
-                      <a-input v-model.trim="queryParam.name" placeholder="名称"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="父位号">
-                      <a-input v-model.trim="queryParam.ppNo" placeholder="父位号"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="设备位号">
-                      <a-input v-model.trim="queryParam.positionNo" placeholder="设备位号"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="生产商">
-                      <a-input v-model.trim="queryParam.producerId" placeholder="生产商"/>
-                    </a-form-item>
-                  </a-col>
-                  <!--                  <a-col :md="6" :sm="24">
+      <a-drawer
+        title="设备筛选"
+        placement="top"
+        :closable="false"
+        :visible="showFilter"
+        :height="330"
+        @close="showFilter=false"
+      >
+        <div class="table-page-search-wrapper">
+          <a-form layout="inline">
+            <a-row :gutter="48">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="关键字">
+                  <a-input v-model.trim="queryParam.keyword" placeholder="设备编号"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="车间位置">
+                  <a-select v-model="queryParam.positionId" placeholder="请选择">
+                    <a-select-option
+                      v-for="({id,name}) in sbPositionData"
+                      :key="id"
+                      :label="name"
+                      :value="id">{{ name }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="设备名称">
+                  <a-input v-model.trim="queryParam.name" placeholder="名称"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="父位号">
+                  <a-input v-model.trim="queryParam.ppNo" placeholder="父位号"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="设备位号">
+                  <a-input v-model.trim="queryParam.positionNo" placeholder="设备位号"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="生产商">
+                  <a-input v-model.trim="queryParam.producerId" placeholder="生产商"/>
+                </a-form-item>
+              </a-col>
+              <!--                  <a-col :md="6" :sm="24">
                     <a-form-item label="设备自编号">
                       <a-input v-model="queryParam.zbh" placeholder="设备自编号"/>
                     </a-form-item>
                   </a-col>-->
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="设备等级">
-                      <a-select v-model="queryParam.level" placeholder="请选择">
-                        <a-select-option
-                          v-for="(label,value) in levelMap"
-                          :key="value"
-                          :label="label"
-                          :value="parseInt(value)">{{ label }}
-                        </a-select-option>
-                      </a-select>
-                    </a-form-item>
-                  </a-col>
-                  <!--                  <a-col :md="6" :sm="24">
+              <a-col :md="6" :sm="24">
+                <a-form-item label="设备等级">
+                  <a-select v-model="queryParam.level" placeholder="请选择">
+                    <a-select-option
+                      v-for="(label,value) in levelMap"
+                      :key="value"
+                      :label="label"
+                      :value="parseInt(value)">{{ label }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <!--                  <a-col :md="6" :sm="24">
                     <a-form-item label="自定义类型">
                       <a-select v-model="queryParam.useType" placeholder="请选择">
                         <a-select-option
@@ -73,74 +100,96 @@
                       </a-select>
                     </a-form-item>
                   </a-col>-->
+              <a-col :md="6" :sm="24">
+                <a-form-item label="检定日期范围">
+                  <a-range-picker v-model="dateRangeCheck" />
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="有效日期范围">
+                  <a-range-picker v-model="dateRange"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="规格型号">
+                  <a-input v-model="queryParam.model" placeholder="规格型号"/>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="设备类型">
+                  <a-tree-select
+                    style="width: 100%"
+                    :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
+                    :treeData="treeData"
+                    :treeNodeFilterProp="'title'"
+                    :showSearch="true"
+                    v-model="queryParam.typeId"
+                    placeholder="请选择"
+                  >
+                  </a-tree-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="设备状态">
+                  <a-select v-model="queryParam.status" placeholder="请选择">
+                    <a-select-option
+                      v-for="(label,value) in statusMap"
+                      :key="value"
+                      :defaultValue="DictCache.VALUE.SB_INFO_STATUS.IN_USE"
+                      :label="label"
+                      :value="parseInt(value)">{{ label }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="主子设备">
+                  <a-select v-model="queryParam.isChild" placeholder="请选择">
+                    <a-select-option value="1">子设备</a-select-option>
+                    <a-select-option value="2">父设备</a-select-option>
+                    <a-select-option value="3">普通设备</a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6" :sm="24">
+                <a-form-item label="电力线路">
+                  <a-select v-model="queryParam.baoyangTimes" placeholder="请选择">
+                    <a-select-option
+                      v-for="(label,value) in lineMap"
+                      :key="value"
+                      :label="label"
+                      :value="parseInt(value)">{{ label }}
+                    </a-select-option>
+                  </a-select>
+                </a-form-item>
+              </a-col>
+              <a-col :md="6 || 24" :sm="24">
+                <span class="table-page-search-submitButtons">
+                  <a-button type="primary" @click="handleOk">查询</a-button>
+                  <a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
+                </span>
+              </a-col>
+            </a-row>
+          </a-form>
+        </div>
+      </a-drawer>
+      <a-row :gutter="8" >
+        <a-col :span="24">
+          <div>
+            <div class="table-page-search-wrapper">
+              <a-form layout="inline">
+                <a-row :gutter="48">
                   <a-col :md="6" :sm="24">
-                    <a-form-item label="检定日期范围">
-                      <a-range-picker v-model="dateRangeCheck" />
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="有效日期范围">
-                      <a-range-picker v-model="dateRange"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="规格型号">
-                      <a-input v-model="queryParam.model" placeholder="规格型号"/>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="设备类型">
-                      <a-tree-select
-                        style="width: 100%"
-                        :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
-                        :treeData="treeData"
-                        :treeNodeFilterProp="'title'"
-                        :showSearch="true"
-                        v-model="queryParam.typeId"
-                        placeholder="请选择"
-                      >
-                      </a-tree-select>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="设备状态">
-                      <a-select v-model="queryParam.status" placeholder="请选择">
-                        <a-select-option
-                          v-for="(label,value) in statusMap"
-                          :key="value"
-                          :defaultValue="DictCache.VALUE.SB_INFO_STATUS.IN_USE"
-                          :label="label"
-                          :value="parseInt(value)">{{ label }}
-                        </a-select-option>
-                      </a-select>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="主子设备">
-                      <a-select v-model="queryParam.isChild" placeholder="请选择">
-                        <a-select-option value="1">子设备</a-select-option>
-                        <a-select-option value="2">父设备</a-select-option>
-                        <a-select-option value="3">普通设备</a-select-option>
-                      </a-select>
-                    </a-form-item>
-                  </a-col>
-                  <a-col :md="6" :sm="24">
-                    <a-form-item label="电力线路">
-                      <a-select v-model="queryParam.baoyangTimes" placeholder="请选择">
-                        <a-select-option
-                          v-for="(label,value) in lineMap"
-                          :key="value"
-                          :label="label"
-                          :value="parseInt(value)">{{ label }}
-                        </a-select-option>
-                      </a-select>
+                    <a-form-item label="关键字">
+                      <a-input v-model.trim="queryParam.keyword" placeholder="设备编号"/>
                     </a-form-item>
                   </a-col>
                   <a-col :md="6 || 24" :sm="24">
-                    <span class="table-page-search-submitButtons">
+                    <a-space>
                       <a-button type="primary" @click="handleOk">查询</a-button>
-                      <a-button style="margin-left: 8px" @click="resetSearchForm">重置</a-button>
-                    </span>
+                      <a-button type="primary" @click="showFilter=true">筛选</a-button>
+                      <a-button @click="resetSearchForm">重置</a-button>
+                    </a-space>
                   </a-col>
                 </a-row>
               </a-form>
@@ -355,6 +404,8 @@ export default {
   data () {
     return {
       // 查询参数
+      current: 0,
+      showFilter: false,
       queryParam: {
         filter: this.filter,
         useType: this.useType,
@@ -860,6 +911,7 @@ export default {
         typeId: this.$route.query.typeId,
         status: this.$route.query.status || this.status
       }
+      this.handleFilter(this.current)
       this.visible = true
       this.$refs.table.refresh(true)
     },
@@ -907,7 +959,48 @@ export default {
     },
     doImportForUpdate () {
       this.$refs.importModalUpdate.base(null, 2)
+    },
+    handleFilter (key) {
+      this.current = key
+      this.queryParam.status = null
+      this.queryParam.isMeasure = null
+      this.queryParam.isSelf = null
+      this.queryParam.measureStatus = null
+      switch (key) {
+        case 0:
+          break
+        case 1:
+          this.queryParam.status = 1
+          break
+        case 2:
+          this.queryParam.status = 4
+          break
+        case 3:
+          this.queryParam.status = null
+          this.queryParam.isMeasure = 1
+          this.queryParam.measureStatus = 1
+          break
+      }
+      this.$refs.table.refresh()
     }
   }
 }
 </script>
+<style lang="less" scoped>
+.filter-icon{
+  font-size: 18px;
+  text-align: center;
+  color: #666;
+  cursor: pointer;
+  margin-bottom: 10px;
+  &>:first-child{
+  font-size: 30px;
+}
+&:hover{
+  color: #1890ff;
+}
+}
+.active{
+  color:#1890ff;
+}
+</style>