<!-- 维修-->
<template>
    <div class='wx-list'>
        <div class='eq-list-top'>
            <el-input
                placeholder='搜索设备名称编号'
                size='small'
                @keyup.enter.native='getList'
                 @blur="getList"
                clearable
                prefix-icon='el-icon-search'
                v-model='sbjc'
                style='width:192px;margin-right:12px'
            ></el-input>
            <el-input
                placeholder='搜索重要事项记录描述'
                size='small'
                clearable
                @keyup.enter.native='getList'
                 @blur="getList"
                prefix-icon='el-icon-search'
                v-model='matters'
                style='width:192px;margin-right:12px'
            ></el-input>
            <Select
                @change='getList'
                style='margin-right:12px;'
                v-model='ischange'
                width='220'
                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>
        </div>
        <el-table :data='tableData' :border='true' style='width: 100%' @row-click='innerTable'>
            <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
            <el-table-column prop='sbmc' label='设备名称' show-overflow-tooltip resizable min-width='460'>
                <template slot-scope='{row}'>{{row.sbmc || '--'}}</template>
            </el-table-column>
            <el-table-column prop='assetnum' label='设备编码' show-overflow-tooltip resizable width='80'>
                <template slot-scope='{row}'>{{row.assetnum || '--'}}</template>
            </el-table-column>
            <el-table-column prop='matters' label='重要事项记录' width='180' show-overflow-tooltip resizable>
                <template slot-scope='{row}'>{{row.matters || '--'}}</template>
            </el-table-column>
            <el-table-column prop='description' label='描述' show-overflow-tooltip resizable min-width='340'>
                <template slot-scope='{row}'>{{row.description || '--'}}</template>
            </el-table-column>
            <el-table-column label='更换配件信息' align='center'>
                <el-table-column prop='ischangepj' label='是/否更换' width='80'>
                    <template slot-scope='{row}'>{{row.ismodel==1?'是':(row.ismodel==0?"否" :'--')}}</template>
                </el-table-column>
                <el-table-column prop='model' label='配件名称型号' width='140' show-overflow-tooltip resizable>
                    <template slot-scope='{row}'>{{row.model || '--'}}</template>
                </el-table-column>
                <el-table-column prop='sl' label='数量' width='80'>
                    <template slot-scope='{row}'>{{row.sl>=0?row.sl:'--'}}</template>
                </el-table-column>
                <el-table-column prop='cost' label='费用(万元)' width='80' align='right'>
                    <template slot-scope='{row}'>{{number_format(row.cost,2) || '--'}}</template>
                </el-table-column>
                <el-table-column prop='source' label='费用出处' show-overflow-tooltip resizable width='100'>
                    <template slot-scope='{row}'>{{row.source || '--'}}</template>
                </el-table-column>
            </el-table-column>
            <el-table-column prop='brand' label='现场照片' width='80'>
                <template slot-scope='{row}'>
                    <div
                        v-if='row.glsmsImage'
                        style='cursor:pointer;color: #0091ff;'
                        @click.stop='clickPic(row.glsmsImage)'
                    >{{row.glsmsImage.length+'张'}}</div>
                    <div v-else>{{'--'}}</div>
                </template>
            </el-table-column>
            <el-table-column prop='reportdate' label='填报时间' width='140'>
                <template slot-scope='{row}'>{{row.reportdate?formatter(row.reportdate): '--'}}</template>
            </el-table-column>
            <el-table-column prop='sjjssj' label='验收时间' width='140'>
                <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj): '--'}}</template>
            </el-table-column>
            <el-table-column prop='wonum' label='工单编号' show-overflow-tooltip resizable width='80'>
                <template slot-scope='{row}'>
                    <div v-if='row.wonum' @click.stop='staff' style='cursor:pointer;color: #0091ff;'>{{row.wonum}}</div>
                    <div v-else>{{'--'}}</div>
                </template>
            </el-table-column>
        </el-table>
        <div class='foot'>
            <el-pagination
                background
                layout='prev, pager, next'
                :total='total'
                :page-size='size'
                @prev-click='pageChanged'
                @next-click='pageChanged'
                @current-change='pageChanged'
            ></el-pagination>
            <pic-large :imgUrl='imgUrl' ref='picLargeOpen'></pic-large>
        </div>
    </div>
</template>
<script>
import { queryWx } from '@/api/equipmentList.js'
import { mapGetters } from 'vuex'
import inputDialog from './inputDIalog'
import { Select } from 'meri-design'
import { formatter, number_format } from '@/utils/format.js'
export default {
    components: { Select, inputDialog },
    data() {
        return {
            tableData: [],
            total: 0,
            currentPage: 1,
            size: 11,
            reportdate: '',
            sjjssj: '',
            ischange: '',
            sbjc: '',
            matters: '',
            wonum: '',
            formatter,
            number_format,
            imgUrl: [],
            changeOption: [
                {
                    id: '1',
                    name: '是'
                },
                {
                    id: '0',
                    name: '否'
                }
            ],
            keyword: ''
        }
    },
    computed: {
        ...mapGetters(['floorSelect'])
    },
    props: ['smsxt', 'major', 'diff', 'tabLabel'],
    methods: {
        //序号的方法
        indexMethod(index) {
            return (this.currentPage - 1) * this.size + index + 1
        },
        innerTable(row) {
            if (row.workorderid) {
                window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=JXWO&uniqueid=${row.workorderid}`, true)
            }
        },
        //跳转工单编号
        staff(row) {
            window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=JXWO&uniqueid=${row.wonum}`, true)
        },
        //多余输入框监听
        confirm(wonum) {
            this.wonum = wonum
            this.getList()
        },
        pageChanged(page) {
            this.currentPage = page
            this.getList()
        },
        getList() {
            let getParams = {
                data: {
                    smsxt: this.smsxt,
                    diff: this.diff,
                    plazaId: this.$store.state.plazaId,
                    page: this.currentPage,
                    size: this.size
                }
            }
            //下拉
            if (this.ischange) {
                getParams.data.ismodel = this.ischange
                // getParams.data.ischangepj = this.ischange
            }
            if (this.sjjssj) {
                getParams.data.sjjssjStartDate = this.sjjssj[0] + '000000'
                getParams.data.sjjssjEndDate = this.sjjssj[1] + '000000'
            }
            if (this.reportdate) {
                getParams.data.reportdateStartDate = this.reportdate[0] + '000000'
                getParams.data.reportdateEndDate = this.reportdate[1] + '000000'
            }
            //输入框搜索
            getParams.data.keyword = ''
            if (this.sbjc) {
                getParams.data.keyword += `${this.sbjc}:sbmc,assetnum;`
            }
            if (this.matters) {
                getParams.data.keyword += `${this.matters}:description,matters;`
            }
            if (this.wonum) {
                getParams.data.keyword += `${this.wonum}:wonum`
            }
            if (getParams.data.keyword == '') {
                delete getParams.data.keyword
            }
            queryWx(getParams).then(res => {
                this.tableData = res.data || []
                this.total = res.count
            })
        },
        clickPic(row) {
            this.imgUrl = []
            if (row) {
                row.forEach(el => {
                    let obj = {
                        name: el.description,
                        url: el.url
                    }
                    this.imgUrl.push(obj)
                })
            }
            this.$refs.picLargeOpen.open(this.imgUrl)
        }
    },
    watch: {
        diff(newV, oldV) {
            if (newV !== oldV) {
                this.getList()
            }
        },
        tabLabel(newV, oldV) {
            if (newV !== oldV) {
                // this.tabFind()
                this.getList()
            }
        },
        ischange() {
            this.getList()
        }
    },
    mounted() {
        this.getList()
    }
}
</script>
<style lang="less" scoped>
.wx-list {
    min-width: 1366px;
    .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;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .foot {
        height: 32px;
        display: flex;
        justify-content: flex-end;
        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>