Bläddra i källkod

下拉,输入搜索排序

zhulizhen1111 4 år sedan
förälder
incheckning
05c06e6fc0

+ 1 - 1
src/components/menuList.vue

@@ -113,9 +113,9 @@ export default {
             transition: all 0.2s;
         }
         .is-active {
-            // background: url('../assets/images/topbar2.png') no-repeat;
             color: #025baa;
             font-weight: bolder;
+            border-bottom: 2px solid #025baa;
             background: linear-gradient(180deg, rgba(2, 91, 170, 0) 0%, rgba(2, 91, 170, 0.2) 100%);
         }
     }

+ 8 - 0
src/utils/plugins/components.js

@@ -76,6 +76,7 @@ var system = [
                     label: "查看图纸",
                     children: [],
                     id: "GDTZ",
+                    param: { tab_code: "rd01" },
                 },
             ],
         },
@@ -179,6 +180,7 @@ var system = [
                 {
                     label: "查看图纸",
                     children: [],
+                    param: { tab_code: "rd01" },
                     id: "NTTZ",
                 },
             ],
@@ -276,6 +278,7 @@ var system = [
                 {
                     label: "查看图纸",
                     children: [],
+                    param: { tab_code: "rd01" },
                     id: "XFTZ",
                 },
             ],
@@ -380,6 +383,7 @@ var system = [
                 {
                     label: "查看图纸",
                     id: "RDTZ",
+                    param: { tab_code: "rd01" },
                     children: [],
                 },
             ],
@@ -469,6 +473,7 @@ var system = [
                 {
                     label: "查看图纸",
                     id: "GSTZ",
+                    param: { tab_code: "rd01" },
                     children: [],
                 },
             ],
@@ -537,6 +542,7 @@ var system = [
                 {
                     label: "查看图纸",
                     id: "DTTZ",
+                    param: { tab_code: "rd01" },
                     children: [],
                 },
             ],
@@ -594,6 +600,7 @@ var system = [
                 {
                     label: "查看图纸",
                     id: "RQTZ",
+                    param: { tab_code: "rd01" },
                     children: [],
                 },
             ],
@@ -664,6 +671,7 @@ var system = [
                 {
                     label: "查看图纸",
                     id: "TJTZ",
+                    param: { tab_code: "rd01" },
                     children: [],
                 },
             ],

+ 75 - 10
src/views/equipment/index.vue

@@ -18,25 +18,36 @@
                         @click='dialogVisible(eve)'
                     >
                         <span class='circle'></span>
-                        {{eve.label}}
+                        <span class='hanzi'>{{eve.label}}</span>
                     </li>
                 </ul>
             </div>
             <div class='eq-right'>
                 <div class='eq-right-bottom'>
                     <div class='title-box'>
-                        <img src='@/assets/imgs/mainIcon.png' />
+                        <!-- <img src='@/assets/imgs/mainIcon.png' /> -->
                         <div class='eq-title'>
                             <span>{{floorInfo.floorName}}</span>
                         </div>
                     </div>
                     <div class='eq-content'>
+                        <div class='legend-boxs'>
+                            <Legend></Legend>
+                        </div>
                         <floorMap ref='floorMap'></floorMap>
+                        <div class='additional-box'>
+                            <div class='additional' @click='additionalColl'>
+                                <img src='../../assets/imgs/bg.png' alt />
+                            </div>
+                            <el-collapse-transition>
+                                <div v-if='show' class='add-img'>我是放附加数据图片哒。。。</div>
+                            </el-collapse-transition>
+                        </div>
                     </div>
                     <floor-list :floors='floors' @emitFloor='emitFloor'></floor-list>
                 </div>
             </div>
-            <editList></editList>
+            <!-- <editList></editList> -->
         </div>
         <eq-dialog ref='dialog' :systemName='systemName' :smsxt='smsxt'></eq-dialog>
     </div>
@@ -63,7 +74,8 @@ export default {
             smsxt: '1001',
             dialogInfo: {},
             brand: [], //品牌
-            manufacturer: []
+            manufacturer: [],
+            show: false
         }
     },
     components: { floorList, eqDialog, floorMap, editList },
@@ -84,6 +96,9 @@ export default {
         dialogVisible(eve) {
             console.log(eve)
             this.$refs.dialog.showModal(eve)
+        },
+        additionalColl() {
+            this.show = !this.show
         }
     },
     mounted() {
@@ -117,6 +132,8 @@ export default {
         }
         .isActive {
             color: #025baa;
+            font-weight: bolder;
+            background: linear-gradient(360deg, rgba(2, 91, 170, 0.1) 0%, rgba(2, 91, 170, 0) 100%);
         }
     }
     .eq-bottom {
@@ -131,23 +148,30 @@ export default {
             font-size: 14px;
             height: 100%;
             background: rgba(242, 245, 247, 1);
-            // box-shadow: 2px 0px 10px 0px rgba(31, 36, 41, 0.06);
         }
         .li-style {
-            padding: 0 0 18px 35px;
+            margin-left: 28px;
+            // padding: 9px 6px;
             cursor: pointer;
             .circle {
                 width: 6px;
                 height: 6px;
-                // background: linear-gradient(180deg, rgba(54, 156, 247, 1) 0%, rgba(2, 91, 170, 1) 100%);
+                background: linear-gradient(180deg, rgba(54, 156, 247, 1) 0%, rgba(2, 91, 170, 1) 100%);
                 border-radius: 50%;
                 display: inline-block;
                 margin-right: 10px;
             }
+            .hanzi {
+                padding: 10px 2px;
+                width: 200px;
+                display: inline-block;
+                &:hover {
+                    color: rgba(2, 91, 170, 1);
+                    background: linear-gradient(270deg, rgba(199, 217, 234, 0) 0%, rgba(199, 217, 234, 1) 100%);
+                }
+            }
         }
-        .is-active {
-            // background: linear-gradient(270deg, rgba(199, 217, 234, 0) 0%, rgba(199, 217, 234, 1) 100%);
-        }
+
         .eq-right {
             flex: 1;
             .eq-right-bottom {
@@ -182,6 +206,47 @@ export default {
                 }
                 .eq-content {
                     flex: 1;
+                    .legend-boxs {
+                        position: fixed;
+                        z-index: 9;
+                        right: 32px;
+                        top: 160px;
+                    }
+                    .additional-box {
+                        position: relative;
+                        .additional {
+                            width: 44px;
+                            height: 44px;
+                            background: rgba(255, 255, 255, 1);
+                            box-shadow: 0px 2px 15px 0px rgba(31, 36, 41, 0.08);
+                            border-radius: 2px;
+                            position: fixed;
+                            right: 32px;
+                            top: 420px;
+                            z-index: 2;
+                            display: flex;
+                            justify-content: center;
+                            align-items: center;
+                            cursor: pointer;
+                            img {
+                                width: 20px;
+                                height: 20px;
+                            }
+                        }
+                        .add-img {
+                            width: 560px;
+                            height: 325px;
+                            background: #ffffff;
+                            -webkit-box-shadow: 0px 2px 8px 0px rgba(31, 36, 41, 0.06);
+                            box-shadow: 0px 2px 8px 0px rgba(31, 36, 41, 0.06);
+                            border-radius: 2px;
+                            border: 1px solid #e4e5e7;
+                            position: absolute;
+                            right: 77px;
+                            top: 93px;
+                            z-index: 2;
+                        }
+                    }
                 }
             }
         }

+ 64 - 37
src/views/equipment/table/eqDetaileDialog.vue

@@ -4,16 +4,14 @@
     <div class='gdqd-dialog'>
         <div class='top'></div>
         <div class='gdqd-dialog-top'>
-            <Select
-                width='120'
-                style='margin-right:12px;'
-                v-model='floor'
-                tipPlace='top'
-                caption='楼层:'
+            <el-input
+                placeholder='搜索设备简称编号'
+                style='width:192px;margin-right:12px'
                 size='small'
-                :selectdata='floorSelect'
-                @change='queryTableList'
-            ></Select>
+                prefix-icon='el-icon-search'
+                v-model='sbjc'
+                @blur='queryTableList'
+            ></el-input>
             <Select v-model='sbglgs' width='180' tipPlace='top' caption='管理归属' size='small' :selectdata='sbglgsOption' @change='queryTableList'></Select>
             <Select
                 width='146'
@@ -30,22 +28,26 @@
                 style='width:192px;margin-right:12px'
                 size='small'
                 prefix-icon='el-icon-search'
-                v-model='keyword'
+                v-model='brand'
                 @blur='queryTableList'
             ></el-input>
-            <el-input
-                placeholder='搜索生产厂商'
-                style='width:192px;margin-right:12px'
+            <Select
+                width='120'
+                style='margin-right:12px;'
+                v-model='floor'
+                tipPlace='top'
+                caption='楼层:'
                 size='small'
-                prefix-icon='el-icon-search'
-                v-model='manufacturer'
-                @blur='queryTableList'
-            ></el-input>
-            <input-dialog :keyword='keyword' @confirm='confirm'></input-dialog>
+                :selectdata='floorSelect'
+                @change='queryTableList'
+            ></Select>
+            <el-input placeholder='搜索安装位置' style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='wzjc'></el-input>
+            <!-- 多余的筛选 -->
+            <input-dialog :type='1' @confirm='confirm'></input-dialog>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%;amrgin-bottom:30px'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbjc' label='设备称' show-overflow-tooltip resizable>
+            <el-table-column prop='sbjc' label='设备称' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.sbjc || '--'}}</template>
             </el-table-column>
             <el-table-column prop='assetnum' label='设备编号' show-overflow-tooltip resizable>
@@ -66,7 +68,7 @@
             <el-table-column prop='sbxh' label='型号' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.sbxh || '--'}}</template>
             </el-table-column>
-            <el-table-column prop='floor' label='楼层'>
+            <el-table-column prop='floor' sortable label='楼层'>
                 <template slot-scope='{row}'>{{row.floor || '--'}}</template>
             </el-table-column>
             <el-table-column prop='wzjc' label='安装位置' show-overflow-tooltip resizable>
@@ -111,11 +113,14 @@ export default {
             page: 1,
             size: 10,
             total: 1,
-            keyword: '',
+            sbjc: '',
+            brand: '',
+            wzjc: '',
             floor: '',
             status: '',
-            sbglgs: '',
             manufacturer: '',
+            fws: '',
+            sbglgs: '',
             sbglgsOption: [],
             statusOption: []
         }
@@ -134,7 +139,12 @@ export default {
     },
     methods: {
         //多余输入框监听
-        confirm() {},
+        confirm(fws, manufacturer) {
+            console.log(fws, manufacturer, '------')
+            this.fws = fws
+            this.manufacturer = manufacturer
+            this.queryTableList()
+        },
         //下拉框查询
         tabFind() {
             let postParams = [
@@ -208,26 +218,43 @@ export default {
                 plazaId: this.$store.state.plazaId,
                 page: this.page,
                 size: this.size
-
-                // sbglgs:this.sbglgs,
-                // floor:this.floor,
-                // status:this.status
             }
+            //输入框搜索
+            data.keyword = ''
+            if (this.sbjc) {
+                data.keyword += `${this.sbglgs}:sbjc,assetnum;`
+            }
+            if (this.brand) {
+                data.keyword += `${this.brand}:brand,sbxh;`
+            }
+            if (this.wzjc) {
+                data.keyword += `${this.wzjc}:wzjc;`
+            }
+            if (this.manufacturer) {
+                data.keyword += `${this.manufacturer}:manufacturer;`
+            }
+            if (this.fws) {
+                data.keyword += `${this.fws}:fws;`
+            }
+            if (data.keyword == '') {
+                delete data.keyword
+            }
+            let postParams = {
+                type_code: this.row.type_code
+                // manufacturer: this.row.manufacturer,
+                // sbxh: this.row.sbxh,
+                // // floor: '--',
+                // brand: '--'
+            }
+            //下拉筛选
             if (this.floor) {
-                data.floor = this.floor
+                postParams.floor = this.floor
             }
             if (this.sbglgs) {
-                data.sbglgs = this.sbglgs
+                postParams.sbglgs = this.sbglgs
             }
             if (this.status) {
-                data.status = this.status
-            }
-            let postParams = {
-                type_code: this.row.type_code,
-                manufacturer: this.row.manufacturer,
-                sbxh: this.row.sbxh,
-                // floor: '--',
-                brand: '--'
+                postParams.status = this.status
             }
             queryAsset({ data, postParams }).then(res => {
                 console.log(res)

+ 8 - 13
src/views/equipment/table/eqListTable.vue

@@ -3,7 +3,7 @@
     <div class='eq-list'>
         <div class='eq-list-top'>
             <el-input
-                placeholder='搜索设备称'
+                placeholder='搜索设备称'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
@@ -11,26 +11,19 @@
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
-                placeholder='搜索品牌型号'
+                placeholder='搜索品牌型号'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='keyword'
                 style='width:192px;margin-right:12px'
             ></el-input>
-            <el-input
-                placeholder='搜索生产厂商'
-                size='small'
-                @blur='getList'
-                prefix-icon='el-icon-search'
-                v-model='manufacturer'
-                style='width:192px;margin-right:12px'
-            ></el-input>
-            <Select @change='getList' v-model='floor' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+            <Select @change='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+            <el-input placeholder='搜索生产厂商' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='manufacturer' style='width:192px;'></el-input>
         </div>
         <el-table :data='tableData' style='width: 100%' :border='true' @row-click='rowHandle'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbjc' label='设备称' width='160'>
+            <el-table-column prop='sbjc' label='设备名称' width='160'>
                 <template slot-scope='{row}'>{{row.sbjc || '--'}}</template>
             </el-table-column>
             <el-table-column prop='sl' label='数量'>
@@ -121,9 +114,11 @@ export default {
                 plazaId: this.$store.state.plazaId,
                 major: this.major
             }
+            //下拉
             if (this.floor) {
-                data.floor = this.floor
+                postParams.floor = this.floor
             }
+            //输入框搜索
             data.keyword = ''
             if (this.keyword) {
                 data.keyword += `${this.keyword}:brand,sbxh;`

+ 64 - 11
src/views/equipment/table/inputDIalog.vue

@@ -1,22 +1,57 @@
 <template>
     <div class='input-dialog'>
-        <div @click='show' style='color: #c3c7cb;cursor: pointer;position:absolute;top:75px;right:32px;'>
+        <div
+            @click='show'
+            style='color: #c3c7cb;cursor: pointer;position:absolute;right:32px;z-index:9999'
+            :class='`top:${type === 1 ? "40px" : "0"};`'
+        >
             <img src='@/assets/imgs/select.png' />
             筛选
         </div>
         <div
             v-if='dialogFormVisible'
-            style='width:280px;height:450px;background:rgba(255,255,255,1);
+            style='width:280px;height:250px;background:rgba(255,255,255,1);margin-top:40px;
             box-shadow:0px 2px 10px 0px rgba(31,35,41,0.1);border:1px solid rgba(228,229,231,1);z-index:9999;
-            position:absolute;top:110px;right:25px;'
+            position:absolute;right:0px;'
         >
-            <el-form style=' padding: 20px 24px;'>
-                <p style='margin:16px 0 8px 0'>安装位置</p>
-                <el-input placeholder='搜索安装位置' style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='keyword'></el-input>
+            <el-form style=' padding:20px 24px;' v-if='type==1'>
+                <p style='margin:0 0 8px 0'>生产厂商</p>
+                <el-input
+                    placeholder='搜索生产厂商'
+                    style='width:192px;margin-right:12px'
+                    size='small'
+                    prefix-icon='el-icon-search'
+                    v-model='inputForm.manufacturer'
+                ></el-input>
                 <p style='margin:16px 0 8px 0'>服务商</p>
-                <el-input placeholder='搜索服务商' style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='keyword'></el-input>
+                <el-input placeholder='搜索服务商' style='width:192px;margin-right:12px' size='small' prefix-icon='el-icon-search' v-model='inputForm.fws'></el-input>
+            </el-form>
+            <el-form style=' padding: 20px 24px;' v-if='type==2'>
+                <p style='margin:0 0 8px 0'>任务编号</p>
+                <el-input placeholder='搜索任务编号' size='small' prefix-icon='el-icon-search' v-model='inputForm.gzglid' style='width:192px;'></el-input>
+            </el-form>
+            <el-form style=' padding: 20px 24px;' v-if='type==3'>
+                <p style='margin:0 0 8px 0'>工单编号</p>
+                <el-input placeholder='搜索工单编号' size='small' prefix-icon='el-icon-search' v-model='inputForm.wonum' style='width:192px;'></el-input>
+            </el-form>
+            <el-form style=' padding: 20px 24px;' v-if='type==4'>
+                <p style='margin:0 0 8px 0'>验收结果</p>
+                <el-select v-model='inputForm.status' placeholder='请选择' size='small' style='width:220px'>
+                    <el-option v-for='item in statusOption' :key='item.id' :label='item.name' :value='item.id'></el-option>
+                </el-select>
+                <p style='margin:16px 0 8px 0'>验收日期</p>
+                <el-date-picker
+                    style='width:220px'
+                    v-model='inputForm.yssjwcsj'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    size='small'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
             </el-form>
-            <div style='position:absolute;bottom:40px;right:47px;z-index:9999'>
+            <div style='position:absolute;bottom:20px;right:47px;z-index:9999'>
                 <el-button @click='dialogFormVisible = false' size='small'>取 消</el-button>
                 <el-button type='primary' @click='confirm' size='small'>确 定</el-button>
             </div>
@@ -30,17 +65,34 @@ export default {
         return {
             dialogFormVisible: false,
             form: {},
-            formLabelWidth: '232px'
+            formLabelWidth: '232px',
+            inputForm: {
+                fws: '',
+                manufacturer: '',
+                gzglid: '',
+                wonum: '',
+                ssfasm: '',
+                status: '',
+                yssjwcsj: ''
+            }
         }
     },
-    props: ['keyword'],
+    props: ['type', 'statusOption'],
     methods: {
         show() {
             this.dialogFormVisible = !this.dialogFormVisible
         },
         confirm() {
             this.dialogFormVisible = false
-            this.$emit('confirm', this.keyword)
+            if (this.type == 1) {
+                this.$emit('confirm', this.inputForm.fws, this.inputForm.manufacturer)
+            } else if (this.type == 2) {
+                this.$emit('confirm', this.inputForm.gzglid)
+            } else if (this.type == 3) {
+                this.$emit('confirm', this.inputForm.wonum)
+            } else if (this.type == 4) {
+                this.$emit('confirm', this.inputForm.status, this.inputForm.yssjwcsj)
+            }
         }
     },
     mounted() {}
@@ -49,5 +101,6 @@ export default {
 
 <style lang="less" scoped>
 .input-diadlog {
+    position: relative;
 }
 </style>

+ 4 - 0
src/views/equipment/table/lookPageTable.vue

@@ -50,6 +50,7 @@
 </template>
 <script>
 import { queryEquipmentList } from '@/api/equipmentList.js'
+import { mapGetters } from 'vuex'
 export default {
     data() {
         return {
@@ -62,6 +63,9 @@ export default {
         }
     },
     props: ['major'],
+    computed: {
+        ...mapGetters(['floorSelect'])
+    },
     methods: {
         pageChanged(page, size) {
             this.currentPage = page

+ 2 - 2
src/views/equipment/table/otherTable.vue

@@ -95,8 +95,8 @@ export default {
             }
             queryQtsx(getParams).then(res => {
                 console.log(res)
-                this.tableData = res.data.data
-                this.total = res.data.count
+                this.tableData = res.data ? res.data : []
+                this.total = res.count
             })
         },
         //下拉框查询

+ 7 - 12
src/views/equipment/table/standTable.vue

@@ -3,7 +3,7 @@
     <div class='stand-list'>
         <div class='eq-list-top'>
             <el-input
-                placeholder='搜索设备称'
+                placeholder='搜索设备称'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
@@ -11,26 +11,19 @@
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
-                placeholder='搜索品牌型号'
+                placeholder='搜索品牌型号'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='keyword'
                 style='width:192px;margin-right:12px'
             ></el-input>
-            <el-input
-                placeholder='搜索生产厂商'
-                size='small'
-                @blur='getList'
-                prefix-icon='el-icon-search'
-                v-model='manufacturer'
-                style='width:192px;margin-right:12px'
-            ></el-input>
-            <Select @change='getList' v-model='floor' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+            <Select @change='getList' v-model='floor' style='margin-right:12px;' width='120' tipPlace='top' caption='楼层 :' :selectdata='floorSelect'></Select>
+            <el-input placeholder='搜索生产厂商' size='small' @blur='getList' prefix-icon='el-icon-search' v-model='manufacturer' style='width:192px;'></el-input>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%' @row-click='rowHandle'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
-            <el-table-column prop='sbjc' label='设备称' show-overflow-tooltip resizable>
+            <el-table-column prop='sbjc' label='设备名称' show-overflow-tooltip resizable>
                 <template slot-scope='{row}'>{{row.sbjc || '--'}}</template>
             </el-table-column>
             <!-- sbjc -->
@@ -127,9 +120,11 @@ export default {
                 major: major
                 // floor:this.floor
             }
+            //下拉
             if (this.floor) {
                 data.floor = this.floor
             }
+            //输入框搜索
             data.keyword = ''
             if (this.keyword) {
                 data.keyword += `${this.keyword}:brand,sbxh;`

+ 102 - 28
src/views/equipment/table/wbTable.vue

@@ -3,7 +3,7 @@
     <div class='wb-list'>
         <div class='eq-list-top'>
             <el-input
-                placeholder='搜索设备名称编号'
+                placeholder='搜索设备名称编号'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
@@ -11,31 +11,54 @@
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
-                placeholder='搜索重要事项记录描述'
+                placeholder='搜索重要事项记录描述'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='matters'
                 style='width:192px;margin-right:12px'
             ></el-input>
-            <el-input
-                placeholder='搜索任务编号'
-                size='small'
-                @blur='getList'
-                prefix-icon='el-icon-search'
-                v-model='gzglid'
-                style='width:192px;margin-right:12px'
-            ></el-input>
-            <el-date-picker
-                size='small'
-                v-model='reportdate'
-                type='date'
-                placeholder='选择填报时间'
+            <Select
                 @change='getList'
-                style='width:180px;margin-right:12px'
-            ></el-date-picker>
-            <el-date-picker size='small' v-model='sjjssj' type='date' placeholder='选择验收时间' @change='getList' style='width:180px;margin-right:12px'></el-date-picker>
-            <Select @change='getList' v-model='ischange' width='180' tipPlace='top' caption='是否更换配件信息 :' :selectdata='changeOption'></Select>
+                v-model='ischange'
+                style='margin-right:12px'
+                width='190'
+                tipPlace='top'
+                caption='是否更换配件信息 :'
+                :selectdata='changeOption'
+            ></Select>
+            <!-- placeholder='选择填报时间' -->
+            <div class='picker-box'>
+                <span class='picker-span'>填报日期:</span>
+                <el-date-picker
+                    style='width:190px'
+                    v-model='reportdate'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    @change='getList'
+                    size='mini'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+            </div>
+
+            <!-- placeholder='选择验收时间' -->
+            <div class='picker-box'>
+                <span class='picker-span'>验收日期:</span>
+                <el-date-picker
+                    style='width:190px'
+                    v-model='sjjssj'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    @change='getList'
+                    size='mini'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+            </div>
+            <input-dialog :type='2' @confirm='confirm'></input-dialog>
         </div>
         <el-table :data='tableData' style='width: 100%'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
@@ -98,9 +121,10 @@
 import { queryWbsms } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
 import Select from '@/components/Select/Select.vue'
+import inputDialog from './inputDIalog'
 import { formatter, number_format } from '@/utils/format.js'
 export default {
-    components: { Select },
+    components: { Select, inputDialog },
     data() {
         return {
             tableData: [],
@@ -110,19 +134,19 @@ export default {
             sjjssj: '',
             reportdate: '',
             ischange: '',
+            sbjc: '',
             formatter,
             number_format,
             changeOption: [
                 {
-                    id: '1',
+                    id: '',
                     name: '是'
                 },
                 {
-                    id: ' 0',
+                    id: ' ',
                     name: '否'
                 }
             ],
-            keyword: '',
             shjc: '',
             gzglid: '',
             matters: ''
@@ -133,6 +157,11 @@ export default {
         ...mapGetters(['floorSelect'])
     },
     methods: {
+        //多余输入框监听
+        confirm(gzglid) {
+            this.gzglid = gzglid
+            this.getList()
+        },
         pageChanged(page) {
             this.currentPage = page
             this.getList()
@@ -141,7 +170,6 @@ export default {
             let getParams = {
                 data: {
                     smsxt: this.smsxt,
-
                     // plazaId: this.$store.state.plazaId,
                     plazaId: '1000287',
                     page: this.currentPage,
@@ -149,21 +177,28 @@ export default {
                     orderBy: `wb_gzglid,0;sbjbm,1;reportdate,0;`
                 }
             }
+            //下拉
+            if (this.ischange) {
+                getParams.data.ischangepj = this.ischange
+            }
             if (this.sjjssj) {
-                getParams.sjjssj = this.sjjssj
+                getParams.data.sjjssjStartDate = this.sjjssj[0] + '000000'
+                getParams.data.sjjssjEndDate = this.sjjssj[1] + '000000'
             }
             if (this.reportdate) {
-                getParams.reportdate = this.reportdate
+                getParams.data.reportdateStartDate = this.reportdate[0] + '000000'
+                getParams.data.reportdateEndDate = this.reportdate[1] + '000000'
             }
+            //输入框
             getParams.data.keyword = ''
             if (this.sbjx) {
                 getParams.data.keyword += `${this.sbjc}:sbjc,sbjbm;`
             }
             if (this.matters) {
-                getParams.data.keyword += `${this.matters}:matters,description`
+                getParams.data.keyword += `${this.matters}:matters,description;`
             }
             if (this.gzglid) {
-                getParams.data.keyword += `${this.gzglid}:wb_gzglid`
+                getParams.data.keyword += `${this.gzglid}:wb_gzglid;`
             }
             if (getParams.data.keyword == '') {
                 delete getParams.data.keyword
@@ -191,6 +226,21 @@ export default {
     .eq-list-top {
         display: flex;
         margin-bottom: 12px;
+        .picker-box {
+            display: flex;
+            align-items: center;
+            background: #fff;
+            padding: 0 6px;
+            border: 1px solid #dcdfe6;
+            border-radius: 4px;
+            height: 32px;
+            box-sizing: border-box;
+            margin-right: 12px;
+            .picker-span {
+                margin-right: 6px;
+                color: rgba(0, 0, 0, 0.65);
+            }
+        }
     }
     td {
         overflow: hidden;
@@ -204,4 +254,28 @@ export default {
         margin-top: 28px;
     }
 }
+</style>
+<style lang="less" >
+.wb-list {
+    .picker-box {
+        .el-input__inner {
+            border: none;
+        }
+        .el-range-editor.el-input__inner {
+            padding: 3px 0px;
+        }
+        .el-icon-date {
+            display: none;
+        }
+        .el-range__close-icon {
+            position: absolute;
+            right: 0px;
+            top: 2px;
+        }
+        .el-range-editor--mini .el-range-input {
+            font-size: 14px;
+            color: rgb(31, 36, 41);
+        }
+    }
+}
 </style>

+ 105 - 22
src/views/equipment/table/wxTable.vue

@@ -1,9 +1,9 @@
 <!-- 维修-->
 <template>
-    <div class='wb-list'>
+    <div class='wx-list'>
         <div class='eq-list-top'>
             <el-input
-                placeholder='搜索设备名称编号'
+                placeholder='搜索设备名称编号'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
@@ -11,31 +11,62 @@
                 style='width:192px;margin-right:12px'
             ></el-input>
             <el-input
-                placeholder='搜索重要事项记录描述'
+                placeholder='搜索重要事项记录描述'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='matters'
                 style='width:192px;margin-right:12px'
             ></el-input>
-            <el-input
+            <Select
+                @change='getList'
+                style='margin-right:12px;'
+                v-model='ischange'
+                width='180'
+                tipPlace='top'
+                caption='是否更换配件信息 :'
+                :selectdata='changeOption'
+            ></Select>
+            <!-- placeholder='选择填报时间' -->
+            <div class='picker-box'>
+                <span class='picker-span'>填报日期:</span>
+                <el-date-picker
+                    style='width:190px'
+                    v-model='reportdate'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    @change='getList'
+                    size='mini'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+            </div>
+
+            <!-- placeholder='选择验收时间' -->
+            <div class='picker-box'>
+                <span class='picker-span'>验收日期:</span>
+                <el-date-picker
+                    style='width:190px'
+                    v-model='sjjssj'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    @change='getList'
+                    size='mini'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+            </div>
+            <input-dialog :type='3' @confirm='confirm'></input-dialog>
+            <!-- <el-input
                 placeholder='搜索工单编号'
                 size='small'
                 @blur='getList'
                 prefix-icon='el-icon-search'
                 v-model='wonum'
                 style='width:192px;margin-right:12px'
-            ></el-input>
-            <el-date-picker
-                size='small'
-                v-model='reportdate'
-                type='date'
-                placeholder='选择填报时间'
-                @change='getList'
-                style='width:180px;margin-right:12px'
-            ></el-date-picker>
-            <el-date-picker size='small' v-model='sjjssj' type='date' placeholder='选择验收时间' @change='getList' style='width:180px;margin-right:12px'></el-date-picker>
-            <Select @change='getList' v-model='ischange' width='180' tipPlace='top' caption='是否更换配件信息 :' :selectdata='changeOption'></Select>
+            ></el-input>-->
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%'>
             <el-table-column type='index' label='序号' width='80'></el-table-column>
@@ -97,10 +128,11 @@
 <script>
 import { queryWx } from '@/api/equipmentList.js'
 import { mapGetters } from 'vuex'
+import inputDialog from './inputDIalog'
 import Select from '@/components/Select/Select.vue'
 import { formatter, number_format } from '@/utils/format.js'
 export default {
-    components: { Select },
+    components: { Select, inputDialog },
     data() {
         return {
             tableData: [],
@@ -117,11 +149,11 @@ export default {
             number_format,
             changeOption: [
                 {
-                    id: '1',
+                    id: '',
                     name: '是'
                 },
                 {
-                    id: 0,
+                    id: '否',
                     name: '否'
                 }
             ],
@@ -133,6 +165,11 @@ export default {
     },
     props: ['smsxt', 'major'],
     methods: {
+        //多余输入框监听
+        confirm(wonum) {
+            this.wonum = wonum
+            this.getList()
+        },
         pageChanged(page) {
             this.currentPage = page
             this.getList()
@@ -149,12 +186,19 @@ export default {
                     orderBy: `sbjbm,0;sjjssj,1`
                 }
             }
+            //下拉
+            if (this.ischange) {
+                getParams.data.ischangepj = this.ischange
+            }
             if (this.sjjssj) {
-                getParams.sjjssj = this.sjjssj
+                getParams.data.sjjssjStartDate = this.sjjssj[0] + '000000'
+                getParams.data.sjjssjEndDate = this.sjjssj[1] + '000000'
             }
             if (this.reportdate) {
-                getParams.reportdate = this.reportdate
+                getParams.data.reportdateStartDate = this.reportdate[0] + '000000'
+                getParams.data.reportdateEndDate = this.reportdate[1] + '000000'
             }
+            //输入框搜索
             getParams.data.keyword = ''
             if (this.sbjx) {
                 getParams.data.keyword += `${this.sbjc}:sbjc,sbjbm;`
@@ -163,7 +207,7 @@ export default {
                 getParams.data.keyword += `${this.matters}:matters,description`
             }
             if (this.wonum) {
-                getParams.data.wonum += `${this.wonum}:wonum`
+                getParams.data.keyword += `${this.wonum}:wonum`
             }
             if (getParams.data.keyword == '') {
                 delete getParams.data.keyword
@@ -187,10 +231,25 @@ export default {
 }
 </script>
 <style lang="less" scoped>
-.wb-list {
+.wx-list {
     .eq-list-top {
         display: flex;
         margin-bottom: 12px;
+        .picker-box {
+            display: flex;
+            align-items: center;
+            background: #fff;
+            padding: 0 6px;
+            border: 1px solid #dcdfe6;
+            border-radius: 4px;
+            height: 32px;
+            box-sizing: border-box;
+            margin-right: 12px;
+            .picker-span {
+                margin-right: 6px;
+                color: rgba(0, 0, 0, 0.65);
+            }
+        }
     }
     td {
         overflow: hidden;
@@ -204,4 +263,28 @@ export default {
         margin-top: 28px;
     }
 }
+</style>
+<style lang="less" >
+.wx-list {
+    .picker-box {
+        .el-input__inner {
+            border: none;
+        }
+        .el-range-editor.el-input__inner {
+            padding: 3px 0px;
+        }
+        .el-icon-date {
+            display: none;
+        }
+        .el-range__close-icon {
+            position: absolute;
+            right: 0px;
+            top: 2px;
+        }
+        .el-range-editor--mini .el-range-input {
+            font-size: 14px;
+            color: rgb(31, 36, 41);
+        }
+    }
+}
 </style>

+ 115 - 29
src/views/equipment/table/zwTable.vue

@@ -2,46 +2,62 @@
 <template>
     <div class='zw-list'>
         <div class='eq-list-top'>
-            <el-date-picker size='small' v-model='nd' type='year' placeholder='请选择年度' @change='getList' style='width:180px;margin-right:12px'></el-date-picker>
-            <Select width='146' tipPlace='top' v-model='lb' caption='类别:' :selectdata='lbOption' :placeholder='"请选择"' @change='getList'></Select>
-            <Select width='120' tipPlace='top' v-model='xm' caption='项目 :' :selectdata='xmOption' style='margin:0 12px' @change='getList'></Select>
-            <Select width='180' tipPlace='top' v-model='sxjd' caption='当前阶段' :selectdata='sxjdOption' :placeholder='"请选择"' @change='getList'></Select>
-            <el-date-picker
-                size='small'
-                v-model='lxsjwcsj'
-                type='daterange'
-                range-separator='至'
-                start-placeholder='开始立项日期'
-                end-placeholder='结束立项日期'
-                @change='getList'
-                style='width:180px;margin-left:12px;margin-right:12px'
-            ></el-date-picker>
             <el-date-picker
                 size='small'
-                v-model='yssjwcsj'
-                type='daterange'
-                range-separator='至'
-                start-placeholder='开始验收日期'
-                end-placeholder='结束验收日期'
+                value-format='yyyy'
+                v-model='nd'
+                type='year'
+                placeholder='请选择年度'
                 @change='getList'
                 style='width:180px;margin-right:12px'
             ></el-date-picker>
+            <Select width='146' tipPlace='top' v-model='lb' caption='类别:' :selectdata='lbOption' :placeholder='"请选择"' @change='getList'></Select>
             <Select
-                width='180'
+                width='120'
                 tipPlace='top'
-                caption='验收结果'
-                :selectdata='statusOption'
-                :placeholder='"请选择"'
-                style='margin-right:12px'
-            >@change='getList'></Select>
-            <el-input
-                placeholder='搜索实施方案说明'
                 size='small'
+                v-model='xm'
+                caption='项目 :'
+                :selectdata='xmOption'
+                style='margin:0 12px'
                 @change='getList'
+            ></Select>
+            <el-input
+                placeholder='搜索实施方案说明'
                 prefix-icon='el-icon-search'
-                v-model='ssfasm'
+                size='small'
                 style='width:192px;margin-right:12px'
+                v-model='ssfasm'
+                @blur='getList'
             ></el-input>
+            <!-- 当前阶段 -->
+            <Select
+                width='180'
+                tipPlace='top'
+                size='small'
+                v-model='sxjd'
+                caption='当前阶段 :'
+                :selectdata='sxjdOption'
+                style='margin:0 12px'
+                @change='getList'
+            ></Select>
+            <!-- placeholder='选择立项时间' -->
+            <div class='picker-box'>
+                <span class='picker-span'>立项日期:</span>
+                <el-date-picker
+                    style='width:190px'
+                    v-model='lxsjwcsj'
+                    value-format='yyyyMMdd'
+                    type='daterange'
+                    @change='getList'
+                    size='mini'
+                    range-separator='-'
+                    start-placeholder
+                    end-placeholder
+                ></el-date-picker>
+            </div>
+            <!-- placeholder='选择验收时间' -->
+            <input-dialog v-if='statusOption.length>0' :statusOption='statusOption' :type='4' @confirm='confirm'></input-dialog>
         </div>
         <el-table :data='tableData' :border='true' style='width: 100%'>
             <el-table-column type='index' label='序号'></el-table-column>
@@ -100,9 +116,10 @@ import Select from '@/components/Select/Select.vue'
 import { queryZw } from '@/api/equipmentList.js'
 import { querySelect } from '@/api/public.js'
 import { mapGetters } from 'vuex'
+import inputDialog from './inputDIalog'
 import { formatter, number_format } from '@/utils/format.js'
 export default {
-    components: { Select },
+    components: { Select, inputDialog },
     data() {
         return {
             tableData: [],
@@ -130,6 +147,12 @@ export default {
     },
     props: ['smsxt', 'major'],
     methods: {
+        //多余输入框监听
+        confirm(status, yssjwcsj) {
+            this.yssjwcsj = yssjwcsj
+            this.status = status
+            this.getList()
+        },
         pageChanged(page) {
             this.currentPage = page
             this.getList()
@@ -213,6 +236,30 @@ export default {
                     size: this.size
                 }
             }
+            //下拉
+            if (this.nd) {
+                getParams.data.nd = this.nd
+            }
+            if (this.lb) {
+                getParams.data.lb = this.lb
+            }
+            if (this.xm) {
+                getParams.data.xm = this.xm
+            }
+            if (this.sxjd) {
+                getParams.data.sxjd = this.sxjd
+            }
+            //验收
+            if (this.yssjwcsj) {
+                getParams.data.yssjwcsjStartDate = this.yssjwcsj[0] + '000000'
+                getParams.data.yssjwcsjEndDate = this.yssjwcsj[1] + '000000'
+            }
+            if (this.lxsjwcsj) {
+                getParams.data.lxsjwcsjStartDate = this.lxsjwcsj[0] + '000000'
+                getParams.data.lxsjwcsjEndDate = this.reportdate[1] + '000000'
+            }
+
+            //input
             getParams.data.keyword = ''
             if (this.ssfasm) {
                 getParams.data.keyword += `${this.ssfasm}:ssfasm`
@@ -245,6 +292,21 @@ export default {
     .eq-list-top {
         display: flex;
         margin-bottom: 12px;
+        .picker-box {
+            display: flex;
+            align-items: center;
+            background: #fff;
+            padding: 0 6px;
+            border: 1px solid #dcdfe6;
+            border-radius: 4px;
+            height: 32px;
+            box-sizing: border-box;
+            margin-right: 12px;
+            .picker-span {
+                margin-right: 6px;
+                color: rgba(0, 0, 0, 0.65);
+            }
+        }
     }
     td {
         overflow: hidden;
@@ -258,4 +320,28 @@ export default {
         margin-top: 28px;
     }
 }
+</style>
+<style lang="less" >
+.zw-list {
+    .picker-box {
+        .el-input__inner {
+            border: none;
+        }
+        .el-range-editor.el-input__inner {
+            padding: 3px 0px;
+        }
+        .el-icon-date {
+            display: none;
+        }
+        .el-range__close-icon {
+            position: absolute;
+            right: 0px;
+            top: 2px;
+        }
+        .el-range-editor--mini .el-range-input {
+            font-size: 14px;
+            color: rgb(31, 36, 41);
+        }
+    }
+}
 </style>