<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="stylus">
|
.history_main{
|
background: #fff;
|
& .pro_create_table{
|
padding: 20px;
|
}
|
}
|
</style>
|