2 changed files with 220 additions and 0 deletions
@ -0,0 +1,217 @@ |
|||||
|
<template> |
||||
|
<div class="mod-config"> |
||||
|
<el-form :inline="true" label-position="top" :model="queryForm"> |
||||
|
<el-form-item label="工单编码"> |
||||
|
<el-input v-model="queryForm.orderNo" clearable style="width: 150px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="反馈单号"> |
||||
|
<el-input v-model="queryForm.planId" clearable style="width: 150px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="设备编码"> |
||||
|
<el-input v-model="queryForm.objectId" clearable style="width: 150px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="备品备件编码"> |
||||
|
<el-input v-model="queryForm.partNo" clearable style="width: 150px"></el-input> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="备品备件名称"> |
||||
|
<el-input v-model="queryForm.partDescription" clearable style="width: 180px"></el-input> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="出库日期"> |
||||
|
<el-date-picker |
||||
|
style="width: 140px" |
||||
|
v-model="queryForm.startTransDate" |
||||
|
type="date" |
||||
|
format="yyyy-MM-dd" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="开始日期" |
||||
|
></el-date-picker> |
||||
|
<span class="date-separator">-</span> |
||||
|
<el-date-picker |
||||
|
style="width: 170px" |
||||
|
v-model="queryForm.endTransDate" |
||||
|
type="date" |
||||
|
format="yyyy-MM-dd" |
||||
|
value-format="yyyy-MM-dd 23:59:59" |
||||
|
placeholder="结束日期" |
||||
|
></el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label=" "> |
||||
|
<el-button type="primary" @click="handleQuery">查询</el-button> |
||||
|
<el-button @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
|
||||
|
<el-table |
||||
|
ref="mainTable" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
:height="height" |
||||
|
v-loading="dataListLoading" |
||||
|
style="width: 100%" |
||||
|
> |
||||
|
<el-table-column prop="orderNo" label="工单编码" min-width="130" align="center"></el-table-column> |
||||
|
<el-table-column prop="planId" label="反馈单号" min-width="130" align="center"></el-table-column> |
||||
|
<el-table-column prop="objectId" label="设备编码" min-width="130" align="center"></el-table-column> |
||||
|
<el-table-column prop="objectDesc" label="设备名称" min-width="160" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="status" label="工单状态" min-width="100" align="center"></el-table-column> |
||||
|
<el-table-column prop="actualDate" label="工单执行时间" min-width="160" align="center"></el-table-column> |
||||
|
<el-table-column prop="partNo" label="备品备件编码" min-width="140" align="center"></el-table-column> |
||||
|
<el-table-column prop="partDescription" label="备品备件名称" min-width="170" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="averagePrice" label="单价" min-width="90" align="right"> |
||||
|
<template slot-scope="scope"> |
||||
|
{{ formatNumber(scope.row.averagePrice) }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="warehouseId" label="仓库编码" min-width="120" align="center"></el-table-column> |
||||
|
<el-table-column prop="locationId" label="货位编码" min-width="120" align="center"></el-table-column> |
||||
|
<el-table-column prop="transQty" label="数量" min-width="90" align="right"> |
||||
|
<template slot-scope="scope"> |
||||
|
{{ formatNumber(scope.row.transQty) }} |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="batchNo" label="序列号" min-width="130" align="center"></el-table-column> |
||||
|
<el-table-column prop="transDate" label="出库时间" min-width="160" align="center"></el-table-column> |
||||
|
<el-table-column prop="transType" label="记录类型" min-width="100" align="center"></el-table-column> |
||||
|
<el-table-column prop="operateUserName" label="操作人" min-width="120" align="center"></el-table-column> |
||||
|
</el-table> |
||||
|
|
||||
|
<el-pagination |
||||
|
style="margin-top: 8px" |
||||
|
@size-change="sizeChangeHandle" |
||||
|
@current-change="currentChangeHandle" |
||||
|
:current-page="pageIndex" |
||||
|
:page-sizes="[20, 50, 100, 500]" |
||||
|
:page-size="pageSize" |
||||
|
:total="totalPage" |
||||
|
layout="total, sizes, prev, pager, next, jumper" |
||||
|
></el-pagination> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { getRepairWorkOrderPartSpareList } from '@/api/partspare/repairtransdetail.js' |
||||
|
|
||||
|
export default { |
||||
|
name: 'workOrderSpareQuery', |
||||
|
data () { |
||||
|
const defaultDateRange = this.getDefaultDateRange() |
||||
|
return { |
||||
|
height: 200, |
||||
|
queryForm: { |
||||
|
userName: this.$store.state.user.name, |
||||
|
orderNo: '', |
||||
|
planId: '', |
||||
|
objectId: '', |
||||
|
partNo: '', |
||||
|
partDescription: '', |
||||
|
startTransDate: defaultDateRange.startTransDate, |
||||
|
endTransDate: defaultDateRange.endTransDate, |
||||
|
page: 1, |
||||
|
limit: 20 |
||||
|
}, |
||||
|
dataList: [], |
||||
|
dataListLoading: false, |
||||
|
pageIndex: 1, |
||||
|
pageSize: 20, |
||||
|
totalPage: 0 |
||||
|
} |
||||
|
}, |
||||
|
activated () { |
||||
|
this.getDataList() |
||||
|
this.updateTableHeight() |
||||
|
}, |
||||
|
mounted () { |
||||
|
this.updateTableHeight() |
||||
|
window.addEventListener('resize', this.updateTableHeight) |
||||
|
}, |
||||
|
beforeDestroy () { |
||||
|
window.removeEventListener('resize', this.updateTableHeight) |
||||
|
}, |
||||
|
methods: { |
||||
|
getDefaultDateRange () { |
||||
|
return { |
||||
|
startTransDate: this.dayjs().subtract(6, 'day').format('YYYY-MM-DD'), |
||||
|
endTransDate: this.dayjs().format('YYYY-MM-DD 23:59:59') |
||||
|
} |
||||
|
}, |
||||
|
updateTableHeight () { |
||||
|
this.$nextTick(() => { |
||||
|
const tableTop = this.$refs.mainTable && this.$refs.mainTable.$el |
||||
|
? this.$refs.mainTable.$el.getBoundingClientRect().top |
||||
|
: 220 |
||||
|
const paginationHeight = 90 |
||||
|
const minHeight = 240 |
||||
|
this.height = Math.max(window.innerHeight - tableTop - paginationHeight, minHeight) |
||||
|
}) |
||||
|
}, |
||||
|
handleQuery () { |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
resetQuery () { |
||||
|
const defaultDateRange = this.getDefaultDateRange() |
||||
|
this.queryForm.orderNo = '' |
||||
|
this.queryForm.planId = '' |
||||
|
this.queryForm.objectId = '' |
||||
|
this.queryForm.partNo = '' |
||||
|
this.queryForm.partDescription = '' |
||||
|
this.queryForm.startTransDate = defaultDateRange.startTransDate |
||||
|
this.queryForm.endTransDate = defaultDateRange.endTransDate |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
sizeChangeHandle (val) { |
||||
|
this.pageSize = val |
||||
|
this.pageIndex = 1 |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
currentChangeHandle (val) { |
||||
|
this.pageIndex = val |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
getDataList () { |
||||
|
this.dataListLoading = true |
||||
|
this.queryForm.page = this.pageIndex |
||||
|
this.queryForm.limit = this.pageSize |
||||
|
this.queryForm.userName = this.$store.state.user.name |
||||
|
getRepairWorkOrderPartSpareList(this.queryForm).then(({data}) => { |
||||
|
this.dataListLoading = false |
||||
|
if (data && data.code === 0) { |
||||
|
this.dataList = data.page.list || [] |
||||
|
this.pageIndex = data.page.currPage |
||||
|
this.pageSize = data.page.pageSize |
||||
|
this.totalPage = data.page.totalCount |
||||
|
} else { |
||||
|
this.dataList = [] |
||||
|
this.totalPage = 0 |
||||
|
this.$message.error(data.msg || '查询失败') |
||||
|
} |
||||
|
}).catch(() => { |
||||
|
this.dataListLoading = false |
||||
|
this.dataList = [] |
||||
|
this.totalPage = 0 |
||||
|
this.$message.error('查询失败') |
||||
|
}) |
||||
|
}, |
||||
|
formatNumber (value) { |
||||
|
if (value === null || value === undefined || value === '') { |
||||
|
return '' |
||||
|
} |
||||
|
const number = Number(value) |
||||
|
if (isNaN(number)) { |
||||
|
return value |
||||
|
} |
||||
|
return number.toFixed(4) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped> |
||||
|
.date-separator { |
||||
|
display: inline-block; |
||||
|
width: 16px; |
||||
|
text-align: center; |
||||
|
} |
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue