<template>
|
<div class="history_main">
|
<ProTable
|
:pageInfo="pageInfo"
|
@doAction="doAction"
|
@handleCurrentChange="handleCurrentChange"
|
@handleSizeChange="handleSizeChange"
|
:isAutoIndex="true"
|
:list="tableData"
|
:header="tableHeader"
|
:loading="loading"
|
/>
|
</div>
|
</template>
|
|
<script>
|
import { PROMAINTAINLISTCOLUMN } from '../../utils/columnConfig'
|
import {
|
qryProductChangeInfoList,
|
qryQryProductDetailParams
|
} from '../../api/productManage.api.js'
|
import ProTable from '../../components/ProTable.vue'
|
export default {
|
props: {},
|
data() {
|
return {
|
tableData: [],
|
loading: true,
|
pageInfo: {
|
currentPage: 1,
|
pageSize: 10,
|
total: 0
|
},
|
tableHeader: [...PROMAINTAINLISTCOLUMN]
|
}
|
},
|
computed: {},
|
created() {},
|
mounted() {
|
this.getProductChangeInfoList()
|
},
|
watch: {},
|
methods: {
|
// 表单事件回调
|
async doAction(name, item, { key, label }) {
|
const { productid } = this.$parent._data
|
if (key === 'DETAIL') {
|
const param = {
|
clicktype: '1',
|
searchtype: '0',
|
serialno: item.serialno,
|
typeno: productid
|
}
|
const listPam = await qryQryProductDetailParams(param)
|
this.$router.push({
|
name: 'maintenanceDetail',
|
query: {
|
serialno: listPam.result.serialno,
|
productid: listPam.result.typeno,
|
from: 'detail',
|
objecttype: listPam.result.objecttype
|
}
|
})
|
return false
|
}
|
},
|
// 获取列表
|
async getProductChangeInfoList() {
|
const { productid } = this.$parent._data
|
const { currentPage, pageSize } = this.pageInfo
|
this.loading = true
|
const params = {
|
currentPage,
|
pageSize,
|
typeno: productid
|
}
|
const listRes = await qryProductChangeInfoList(params)
|
this.loading = false
|
if (!listRes || listRes.code !== '00') {
|
return false
|
}
|
const newList =
|
listRes.result &&
|
listRes.result.records.map(item => {
|
const newItem = { ...item }
|
newItem.operationOption = [
|
{ label: '维护详情', key: 'DETAIL', value: true }
|
]
|
return newItem
|
})
|
this.$set(this.pageInfo, 'total', listRes.result && listRes.result.total)
|
this.$set(this, 'tableData', newList)
|
},
|
// 修改翻页条数
|
handleSizeChange(val) {
|
this.pageInfo.pageSize = val
|
this.getProductChangeInfoList()
|
},
|
|
// 修改翻页数
|
handleCurrentChange(val) {
|
this.pageInfo.currentPage = val
|
this.getProductChangeInfoList()
|
}
|
},
|
components: {
|
ProTable
|
}
|
}
|
</script>
|
|
<style scoped lang="postcss">
|
.history_main{
|
background: #fff;
|
& .pro_create_table{
|
padding: 20px;
|
}
|
}
|
</style>
|