123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <template>
- <div class='compute-item'>
- <div ref='tableBox5' class='compute-table'>
- <el-table
- :border='true'
- v-loading='loading'
- :max-height='tableMaxHeight'
- :data='table5'
- style='width: 100%'
- @row-click='innerTable'
- :header-cell-style='{background:"rgba(245,246,247,1)",fontFamily:"MicrosoftYaHei",color:"rgba(100,108,115,1)",lineHeight:"16px",fontSize:"12px"}'
- >
- <el-table-column type='index' label='序号' width='60' :index='indexMethod'></el-table-column>
- <el-table-column prop label='设备名称' show-overflow-tooltip resizable min-width='150'>
- <template slot-scope='{row}'>{{row.sbmc||'--'}}</template>
- </el-table-column>
- <el-table-column prop label='设备内号' :show-overflow-tooltip='true' width='80'>
- <template slot-scope='{row}'>{{row.assetnum||'--'}}</template>
- </el-table-column>
- <el-table-column prop label='核心维保事项记录' :show-overflow-tooltip='true' min-width='150'>
- <template slot-scope='{row}'>{{row.matters||'--'}}</template>
- </el-table-column>
- <el-table-column prop label='现场照片' :show-overflow-tooltip='true' width='80'>
- <template slot-scope='{row}'>
- <div
- v-if='row.glsmsImage'
- style='cursor:pointer;color: #0091ff;'
- @click='clickPic(row.glsmsImage)'
- >{{row.glsmsImage.length+'张'}}</div>
- <div v-else>{{'--'}}</div>
- </template>
- </el-table-column>
- <el-table-column prop label='维保任务' align='center'>
- <el-table-column prop label='任务编号' :show-overflow-tooltip='true'>
- <template slot-scope='{row}'>
- <div style='cursor:pointer;color: #0091ff;'>{{row.wb_gzglid||'--'}}</div>
- </template>
- </el-table-column>
- <el-table-column prop label='维保任务名称' :show-overflow-tooltip='true' min-width='340'>
- <template slot-scope='{row}'>{{row.wbrwmc || '--'}}</template>
- </el-table-column>
- <el-table-column prop label='任务状态' :show-overflow-tooltip='true'>
- <template slot-scope='{row}'>{{row.status||'--'}}</template>
- </el-table-column>
- <el-table-column prop label='开始时间' :show-overflow-tooltip='true' width='130'>
- <template slot-scope='{row}'>{{row.sjkssj?formatter(row.sjkssj):'--'}}</template>
- </el-table-column>
- <el-table-column prop label='完成时间' :show-overflow-tooltip='true' width='130'>
- <template slot-scope='{row}'>{{row.sjwcsj?formatter(row.sjwcsj):'--'}}</template>
- </el-table-column>
- <el-table-column prop label='执行耗时(天)' :show-overflow-tooltip='true' min-width='130' :sortable='true'>
- <template slot-scope='{row}'>{{row.sjcxsjt||'--'}}</template>
- </el-table-column>
- </el-table-column>
- <el-table-column prop label='是否正常' :show-overflow-tooltip='true' width='80'>
- <template slot-scope='{row}'>{{row.zt||'--'}}</template>
- </el-table-column>
- <el-table-column prop label='异常工单' align='center'>
- <el-table-column prop label='异常工单编号' :show-overflow-tooltip='true' min-width='110'>
- <template slot-scope='{row}'>
- <div @click='ycgd(row)'>{{row.wonum||'--'}}</div>
- </template>
- </el-table-column>
- <el-table-column prop label='描述' :show-overflow-tooltip='true' width='900'>
- <template slot-scope='{row}'>{{row.description||'--'}}</template>
- </el-table-column>
- <el-table-column prop label='填报时间' :show-overflow-tooltip='true' width='130'>
- <template slot-scope='{row}'>{{row.reportdate?formatter(row.reportdate):'--'}}</template>
- </el-table-column>
- <el-table-column prop label='验收时间' :show-overflow-tooltip='true' width='130'>
- <template slot-scope='{row}'>{{row.sjjssj?formatter(row.sjjssj):'--'}}</template>
- </el-table-column>
- </el-table-column>
- </el-table>
- </div>
- <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 Select from '@/components/Select/Select.vue'
- import { Select } from 'meri-design'
- import moment from 'moment'
- export default {
- props: ['table5', 'total', 'page', 'size', 'loading'],
- data() {
- return {
- value1: '',
- searVal: '',
- dateVal: '',
- imgUrl: [],
- tableMaxHeight: 0
- }
- },
- components: { Select },
- updated() {
- this.$nextTick(() => {
- // 页面渲染完成后的回调
- this.tableMaxHeight = this.$refs.tableBox5.offsetHeight
- })
- },
- methods: {
- //工单详情
- innerTable(row) {
- if (row.apptype == '外委' || row.apptype == '自维') {
- if (row.wb_gzglid) {
- window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.wb_gzglid}`)
- }
- } else if (row.apptype == '安全维保') {
- window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=AQ_WB_GZGL&uniqueid=${row.wb_gzglid}`)
- }
- },
- // 工单
- ycgd(row) {
- if (row.apptype == '外委' || row.apptype == '自维') {
- if (row.wb_gzglid) {
- window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.wb_gzglid}`)
- }
- } else if (row.apptype == '安全维保') {
- window.open(`http://gcgl.wanda.cn/maximo/ui/?event=loadapp&value=WB_GZGL&uniqueid=${row.wb_gzglid}`)
- }
- },
- indexMethod(index) {
- return (this.page - 1) * this.size + index + 1
- },
- pageChanged(page) {
- this.page = page
- this.$emit('Index4Emit', page)
- },
- formatter(date) {
- return moment.unix(date / 1000).format('YYYY.MM.DD HH:mm')
- },
- 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)
- },
- computedHeight() {
- this.$nextTick(() => {
- // 页面渲染完成后的回调
- this.tableMaxHeight = this.$refs.tableBox5.offsetHeight
- })
- }
- }
- }
- </script>
- <style lang="less" scoped>
- </style>
- <style lang="less">
- .compute-item {
- .compute-center {
- display: flex;
- align-items: center;
- margin-bottom: 12px;
- }
- .foot {
- height: 32px;
- display: flex;
- justify-content: flex-end;
- margin-top: 28px;
- }
- /deep/.el-table tr {
- cursor: pointer;
- }
- }
- </style>
|